Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > COMBO BOX


Автор: A... 12.11.2004, 16:45
Привет всем.

Кто знает как можно инициализировать combo box ???
Мне надо засунуть туда что-то типа

Task 1
Task 2
...
...
Task "n"

и чтоб после выбора задачи и нажатие кнопки "ПУСК" должна выполняться зта задача.

Зарание спасибо.


Автор: Mad 12.11.2004, 16:50
Код

CComboBox *pCombo = .... // Получаеш указатель в зависимости как создал

pCombo->AddString("Task 1", 0);
pCombo->AddString("Task 2", 1);
...
pCombo->AddString("Task n", n-1);


Автор: A... 12.11.2004, 17:40
Mad

Указатель на что ?

Автор: Mad 12.11.2004, 17:47
A...
На класс CComboBox(MFC).

Или тебе на API нужно ?

Автор: Coocky 12.11.2004, 22:52
Цитата
Кто знает как можно инициализировать combo box ???
Мне надо засунуть туда что-то типа

Task 1
Task 2
...
...
Task "n"

Просто метод AddString smile Добавляет строку smile Если при запуске проги должен быть текст,то в OnInitDialog() делаешь smile ....для диалога
Делаешь в комбо обработчик сообщения на выделение строки.Получаешь тескт.
Вставляешь в обработик кнопки пуск оператор switch(текст) и выполняешь case в зависимости от строки smile
Извини что не кодом пишу-с Инет клуба.Дома Инета нет smile

Автор: MoreHate 12.9.2005, 07:08
Я новичек в MFC. Никак не получается добавить строку в Combo-box на .Net 2003

Делал и control variable и так, как написано вышел. Результат: все компилится, но при открытии окна вылетает Debud Assertion Failed. Файл: afxcmn2.inl. Строка 330

Если же в хедэре написать класс комбобокса как CComboBox (хотя я добавлял на форму CComboBoxEx-объект), то ошибка исчезает. Но Insert не работает. Т.е. результата нет. ПРобовал делать UpdateData(FALSE) - все равно CB пустой.
Добавлено @ 07:09
Т.е. такой код результата не дает
Код

    CComboBox *SupplerCtrl = (CComboBox*) GetDlgItem(IDC_SUPPLER);
    SupplerCtrl->InsertString(-1, "ds");
    UpdateData(FALSE);


Автор: Coocky 12.9.2005, 10:14
Еще раз
Для CComboBox
Рисуешь его на диалоге.
Даешь имя, к примеру my_combo;(как control)
Код

my_combo.AddString(string);//Добавляет строку
//или
my_combo.InsertString(0,string)//Вставляет строку(отсчет с нуля)


Для СomboBoxEx my_combo

Код

COMBOBOXEXITEM itemEx;
  
      itemEx.mask=CBEIF_IMAGE|CBEIF_TEXT;
      itemEx.iItem=my_combo_Com.GetCount();;
      itemEx.iImage=my_combo.GetCount();;
      itemEx.pszText=(LPTSTR) (LPCTSTR)stringer;
      
      
    int i=  my_combo.InsertItem(&itemEx);

Предварительно надо подготовить список изображений и присоеденить его к ComboBoxEx

Автор: MoreHate 12.9.2005, 14:46
Coocky
Спасибо, всё заработало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)