· Начало · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Добавление строк в ComboBox

Посл.отвђт Сообщенiе


Дата: Авг 1, 2004 20:05:58

Нужно добавить пару строк в пустой ComboBox.
Что делаю я.
invoke SendMessage,hComboBox,CB_ADDSTRING,0,offset строка
Элементы как бы добавляются но их невидно. Надо вероятно обновить box, но я не знаю как. Вернее UpdateWindow не помогает.
Вообщем ламерский вопрос, но начинать с чего-то надо.


Дата: Авг 1, 2004 20:14:13

В нормальной ситуации не надо делать обновление - бокс обновляется при добавлении каждой строки. Проверь, что в EAX после этого вызова. Должны быть значения с нуля и далее, но не отрицательные. Или вызови GetLastError() сразу после SendMessage().


Дата: Авг 1, 2004 20:16:11

Скорей всего, высота ComboBox'a маленькая. Она должна быть равна ComboBox'у с выпавшим списком.


Дата: Авг 1, 2004 20:53:19

Ошибки при вызове SendMessage не возникает, все корректно добавляется.
2 __Ranger
Ты прав, высота действительно оказалась маленькой, потому что когда я нажимаю чтобы выпал список элементов, выпадает маленькая черная полоска, а если по ней аккуратно нажать, то выбираться какой-нибудь элемент и я его вижу. Значит дело действительно в высоте, но я высоту меняю, ничего не меняется, надо, наверное, какие-то свойства поменять/добавить. Но правда, я не в курсе какие :-(


Дата: Авг 1, 2004 20:58:54

Так, свойства я успешно подобрал.
Всем ответившим большое спасибо!


Дата: Авг 1, 2004 21:20:47

С этим все ясно. Встает сразу другой вопрос.
У меня в списке 48 элементов. Пользователь выбирает элемент, далее мне нужно его сразу сохранить в отдельную переменную. Я понимаю это так:
по wm_command определяем наш Combo Box, далее следует возможно проверка на CBN_SELCHANGE, а что нужно далее я даже не представляю.
Короче нужно определить номер выбранного элемента в списке, а далее сам элемент.


Дата: Авг 1, 2004 23:18:29

CB_GETCURSEL+CB_GETLBTEXT


Дата: Авг 1, 2004 23:40:28

Есть такое дело :-)