Работа с Tab Control-ами и с комбобоксами в MFC
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 24.06.16 07:51
Оценка:
Я создал MFC-проект VectElemMFC. В нём диалоговое окно--IDD_VECTELEMMFC_DIALOG. В этом диалоговом окне я установил Tab Control с идентификатором IDC_TAB1.
Также я создал ещё два диалога (диалогбара)--IDD_DIALOGBAR1 и IDD_DIALOGBAR2. На них я разместил компоненты (статитческий текст, текстовые поля для ввода данных, кнопки, комбобоксы).

Как мне установить эти два диалогбара в IDC_TAB1?

И ещё вопрос: на IDD_DIALOGBAR1 есть комбобокс IDC_COMBO1. Как мне туда добавить элементы (строки "строка 1", "строка 2", "строка 3")? И как мне обработать пользовательский выбор элемента комбобокса (то есть узнать, какой элемент комбобокса был выбран и произвести соответствующую обработку).

Сам я новичок в работе с MFC, поэтому, пожалуйста, коллеги, не удивляйтесь подобным вопросам.
1613 г. = 2024 г.
Re: Работа с Tab Control-ами и с комбобоксами в MFC
От: Evgeniy Skvortsov Россия  
Дата: 24.06.16 17:39
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>Я создал MFC-проект VectElemMFC. В нём диалоговое окно--IDD_VECTELEMMFC_DIALOG. В этом диалоговом окне я установил Tab Control с идентификатором IDC_TAB1.

RF>Также я создал ещё два диалога (диалогбара)--IDD_DIALOGBAR1 и IDD_DIALOGBAR2. На них я разместил компоненты (статитческий текст, текстовые поля для ввода данных, кнопки, комбобоксы).

RF>Как мне установить эти два диалогбара в IDC_TAB1?


Вот вроде расписано с примерами

RF>И ещё вопрос: на IDD_DIALOGBAR1 есть комбобокс IDC_COMBO1. Как мне туда добавить элементы (строки "строка 1", "строка 2", "строка 3")?


Добавь переменную связанную с контролом (правый клик на комбобоксе — Add Variable) типа CONTROL, обзови ее как нибудь, например m_combo1;
В OnInitDialog надо добавить строки в комбобокс:
m_combo1.AddString(_T("Строка1"));
m_combo1.AddString(_T("Строка2"));
m_combo1.AddString(_T("Строка3"));


RF> И как мне обработать пользовательский выбор элемента комбобокса (то есть узнать, какой элемент комбобокса был выбран и произвести соответствующую обработку).


Правый клик на комбобоксе — Class Wizard. Щелкаешь два раза на CBN_SELCHANGE добавится обработчик OnCbnSelchangeCombo1.
Он вызывается когда юзер что-то выбрал, в нем вызываешь m_combo1.GetCurSel() — получишь номер строки которую выбрали, не забудь они с нуля нумеруются.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.