Вниз
Скачать: CL | DM;

VS: проблема с ComboBoxEx32   Найти похожие ветки 

← →
_dimka ©   (2006-09-04 00:54) [0]

Может кто нить подскажет...
в OnDropdown, пытаюсь заполнить комбобокс значениями, но почему то первый раз он показывает только одно значение. Почему?
void ChgDlg::OnCbnDropdownComboboxex1()
{
int n;
char dd[4];
DWORD dr = GetLogicalDrives();
for( int i = 0; i < 26; i++ )
{
 n = ((dr>>i)&0x00000001);
 if( n == 1 )
 {
  dd[0] =  char(65+i); dd[1] = ":"; dd[2] = "\\"; dd[3] = 0;
  COMBOBOXEXITEM it;
  it.mask = CBEIF_TEXT;
  it.iItem = i;
  it.iOverlay = 0;
  it.lParam = 0;
  it.cchTextMax = 50;
  it.pszText = dd;
  m_cCombo.InsertItem(&it);
 }
}
}

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


← →
Ketmar ©   (2006-09-04 01:08) [1]

что-то на Delphi не похоже...


← →
_dimka ©   (2006-09-04 01:14) [2]

мм... ну да не похоже, я ж в потрепаться и написал, вдруг кто-то ответит...


← →
GuAV ©   (2006-09-04 01:28) [3]


> OnCbnDropdownComboboxex1()

Почему при раскрывании, а не сразу ?

> it.iItem = i;

Почему i ?
думаю, тут нужен отдельный индекс.


> for( int i = 0; i < 26; i++ )


я бы написал так
int j = 0;
for ( int n = dr; n; n >>=1 )
 if (n & 1)
 {...
    it.Item = j++
 }


ps: MFC не знаю, С++ только начал


← →
_dimka ©   (2006-09-04 01:52) [4]


> Почему при раскрывании, а не сразу ?

Потому что нужно обновлять при раскрытии, я там забыл удаление дописать...

> Почему i ?
> думаю, тут нужен отдельный индекс.

не обязательно.. но можно...

Дело в том что если добавлять при OnDropdown, то если до этого комбобокс был пуст, то добавляеться только одна строка, если была хоть одна то все ок...


← →
_dimka ©   (2006-09-04 19:06) [5]

> Почему i ?
> думаю, тут нужен отдельный индекс.

Я - тормоз, спасибо там действительно должен быть отдельный индекс :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
15-1156681887
Desdechado
2006-08-27 16:31
2006.09.24
Дружба


2-1157048371
Интересующийся
2006-08-31 22:19
2006.09.24
Две копии приложения и одна таблица


2-1157611302
Dr. Genius
2006-09-07 10:41
2006.09.24
Шифрование строк


1-1155124059
Alkid
2006-08-09 15:47
2006.09.24
Компиляция проекта из командной строки


15-1157295084
vrem
2006-09-03 18:51
2006.09.24
Раскол




   Наверх