Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Заполнение ComboBox'а на WinApi [D5, Win95/98, WinME, NT4, Win2k, WinXP]


lexus3d ©   (2004-07-15 09:29:00) 

Люди.... человеки...помогите... combobox создать создал.. а вот как его заполнить без понятия...и он же потом должон возвращать чё то, типа что я там выбрал из списка чего то, т.е. индекс вродь как...  заранее благо...дрю! :)


lexus3d   (2004-07-15 13:41:00) [1]

ОООООО!!!!!! работает ... большое спасибо!!!


AD_infiniTUM   (2004-07-15 13:24:00) [2]


>  если у меня не строка .... а массив строк? тогда как?

Циклом.

> как создаётся ?! а вот так:
> cmb:=CreateWindowEx(0,'combobox','',CBS_DROPDOWNLIST or
> WS_VISIBLE or WS_CHILD  or WS_TABSTOP,10,40,250,25,wnd,0,hInstance,nil);

Попробуй заменить на
cmb:=CreateWindowEx(0,'combobox','',CBS_DROPDOWNLIST or WS_VISIBLE or WS_CHILD  or WS_TABSTOP,10,40,250,200,wnd,0,hInstance,nil);


lexus3d   (2004-07-15 12:41:00) [3]

как создаётся ?! а вот так:
cmb:=CreateWindowEx(0,'combobox','',CBS_DROPDOWNLIST or WS_VISIBLE or WS_CHILD  or WS_TABSTOP,10,40,250,25,wnd,0,hInstance,nil);


lexus3d   (2004-07-15 12:40:00) [4]

а если у меня не строка .... а массив строк? тогда как?


AD_infiniTUM   (2004-07-15 12:39:00) [5]

Вообще, если я правильно понимаю, передается не строка, а указатель на первый символ строки. Но добавится потом вся строка. У меня все работает, выдрал из рабочей программы. А как создается ComboBox?


AD_infiniTUM   (2004-07-15 12:30:00) [6]

Передается вся срока.


lexus3d   (2004-07-15 12:27:00) [7]

>>SendMessage(CBWnd, CB_ADDSTRING, 0, Integer(PChar(@S[1])));

немного не понял почему @S[1], ведь S[1]- это символ от строки S так туда чёль символ тока передаётся?


AD_infiniTUM   (2004-07-15 12:20:00) [8]

Кстати, тут ошибка небольшая вкралась, должно быть
SendMessage(CBWnd, CB_ADDSTRING, 0, Integer(PChar(@S[1])));


lexus3d   (2004-07-15 11:34:00) [9]

о! спасибо!... тогда можно сразу встречный вопрос... почему не отображаются строки которые были занесены?... ну т.е. он не работает как простой combobox... нет выпадающего списка!


AD_infiniTUM   (2004-07-15 09:58:00) [10]

Добавление строки

var
 S: string;
...
S = '123';
SendMessage(CBWnd, CB_ADDSTRING, 0, Integer(PChar(@S])));


Получение номера выбранного элемента
var
 I: Integer;
...
 I := SendMessage(CBWnd, CB_GETCURSEL, 0, 0);


CBWnd - Handle ComboBox'а


Наверх

Титульная страница Поиск, карта сайта Написать письмо