Урок 20

Visual C ++. MFC Урок 20. Клас CComboBox

На цьому уроці ми з вами подивимося основні властивості та методи класу CComboBox. Зрозуміло, цей клас є звичайним ComboBox.

Для того, щоб не плутатися з кодом від попередніх уроків, створіть просте віконце (див. урок 3) і додайте в нього меню MyMenu з підменю Dialog (урок 14). У разі збереження дайте йому ім'я resource.rc:

Після цього підключіть ClassWizard (урок 17) і створіть діалогове вікно (див. урок 18), і зробіть, щоб це вікно відображалось під час виклику меню Dialog. Розмістіть у нашому діалозі елемент ComboBox:

Після такої підготовчої роботи приступаємо безпосередньо до ComboBox. Для початку подивимося, що треба зробити, щоб при появі діалогового вікна в ComboBox вже з'явився деякий список. Для цього нам спочатку треба зробити деякі попередні кроки.

Для того, щоб працювати з будь-яким елементом, у тому числі з ComboBox, ми повинні задати йому деяку змінну. Для цього використовується такий засіб, як ClassWizard. Викличте його (Ctrl+W) та перейдіть на вкладку Member Variables. Зверніть увагу, що у рядку з ідентифікатором нашого ComboBox'а (IDC_COMBO1) нічого немає:

цього

Після

Натисніть кнопку OK. Тепер у рядку ClassWizard для ідентифікатора IDC_COMBO1 з'явиться змінна m_cbComboBox типу CComboBox:

Тепер нам треба написати заготівлю для коду, який буде виконуватися при ініціалізації діалогу. Для цього знову викличте ClassWizard (якщо ви його вже закрили), перейдіть у ньому на вкладку MessageMaps, виберіть клас CDlg у Class name, у списку Object IDs виберіть CDlg і у списку повідомлення виберіть WM_INITDIALOG:

урок

Після цього натисніть у цьому ж діалоговому вікні кнопку Add Function і потім на Edit Code. У вікні коду введіть наступний текст:

Тепер можете запустити програму, зайти в меню і переконається, що в ComboBox є три значення. Правда, ComboBox виглядає не цілком привабливим:

Після цього ваш ComboBox має бути вже більш звичних розмірів.