![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_MEASUREITEM глючит? [WinME]
Asteroid © (2003-05-29 02:56:00)Сначала создаю ComboBox (x, y, w, h - размеры, hMainWND - хэндл главного окна)
hComboBox1 = CreateWindow( PAnsiChar( "COMBOBOX" ), PAnsiChar( "Combo1" ), WS_BORDER or WS_CHILD or WS_VISIBLE or CBS_DROPDOWNLIST, x, y, w, h, hMainWND, 0, 0, nil );
Затем в WinMain добавляю элементы:
SendMessage( hComboBox1, CB_ADDSTRING, 0, DWORD( PAnsiChar( "El1" ) ) );
SendMessage( hComboBox1, CB_ADDSTRING, 0, DWORD( PAnsiChar( "El2" ) ) );
...и ставлю первого выбранным:
SendMessage( hComboBox1, CB_SETCURSEL, 0, 0 );
В результате, при запуске получаю, что список элементов не открывается, но выбрать их стрелками курсора можно. Ладно, нашел намек на то, что надо еще обработать WM_MEASUREITEM (хотя Combo не CBS_ONWERDRAWFIXED или CBS_OWNERDRAWVARIABLE). В справке написано, что lParam указывает на стрктуру MEASUREITEMSTRUCT. Пусть так, действительно там какой-то адрес...но когда я пытаюсь туда запихнуть размеры, выползает Access Violation! Т.е. что, память, предоставляемая системой, неюзабельна??
Подскажите, что делать...курсовую пишу (даже написал, но вот с интерфейсом проблемы...)
Asteroid (2003-05-29 11:33:00) [1]Спасибо :)
Игорь Шевченко (2003-05-29 10:17:00) [2]w и h чему равны ? (Они должны в себя включать размер выпадающего списка)