Тема: Помогите заполнить ComboBox в Visual C++

Приведите пожалуйста пример как надо заполнять ComboBox в Visual C++

Re: Помогите заполнить ComboBox в Visual C++

Вызываешь pCB->AddString(), передав строковое значение.

Re: Помогите заполнить ComboBox в Visual C++

туда

int i = 0;
i = m_comboY1.AddString("строка 1"); // строка
m_comboY1.SetItemData(i, 127); // туда же можно повесить и другое значение

обратно

m_comboY1.GetWindowText(tStr); // текст строки
int i = m_comboY1.GetCurSel(); // получаем номер строки
int check = m_comboY1.GetItemData(i); // получаем значение строки

Re: Помогите заполнить ComboBox в Visual C++

> Миша
Не поленись, почитай хоть справку по mfc. Или книжку какую умную по msvc.

Re: Помогите заполнить ComboBox в Visual C++

Спасибо! Книгу умную трудно найти, все книги содержат в основном формулы, а как работать с элементами форм редко встречал.

Re: Помогите заполнить ComboBox в Visual C++

А подскажет кто-нибудь, как заполнить combo box значениями из массива?
Пробую типа так:

int i=0, n=3;
char mydata[n]={'1','2','3'};
for (i=0; i<n; i++)
mycombobox.AddString(mydata[i]);

но это не правильно. Тут вылетают ошибки, что не может заполниться массив(???) и, естествнно, что не тот тип данных передается. А как надо правильно?

(изменено: Александр Пекшев aka Modis, 22 августа 2010г. 14:59:28)

Re: Помогите заполнить ComboBox в Visual C++

Вроде получилось:

#define diamkol 20
...........
BOOL CArmDlg::OnInitDialog()
{
    CAcUiDialog::OnInitDialog();


    int i=0;
    char *diams[diamkol]={"6","8","10","12","14","16",
    "18","20","22","25","28","32","36","40","45","50","55","60","70","80"};
    for(i=0; i<diamkol-1; i++){
        m_DiamList.AddString((LPCTSTR)diams[i]);}
    m_DiamList.UpdateData();

    return TRUE;
}

Вот только результат странный :(
Помогите заполнить ComboBox в Visual C++

Re: Помогите заполнить ComboBox в Visual C++

Может так?

TCHAR *diams[diamkol]={_T("6"),_T("8"),_T("10"), ...

Re: Помогите заполнить ComboBox в Visual C++

Вроде получилось так

LPCTSTR diams[diamkol]={L"3",L"4",L"5",...}
for(i=0; i<diamkol-1; i++){ 
      m_DiamList.AddString(diams[i]);} 
   m_DiamList.UpdateData();