Вниз
Скачать: 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.034 c
15-1157128917
cyborg
2006-09-01 20:41
2006.09.24
Поразмышлял и ужаснулся


11-1132361931
gdaujk
2005-11-19 03:58
2006.09.24
KOL зеркальный аналог TChart.


3-1152879525
MsGuns
2006-07-14 16:18
2006.09.24
Загрузка объемных данных в рамках одной транзакции


4-1148280287
Чапаев
2006-05-22 10:44
2006.09.24
PID -> ExeName


2-1157630985
SergP.
2006-09-07 16:09
2006.09.24
Из-за чего происходит замедление работы?




   Наверх