Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > ReadOnly property для ComboBox


Автор: brb 22.1.2003, 15:55
В самом первом билдере(остальных еще не щупал) нет у комбобокса свойства только для чтения. Надоело писать миллион ивентов. Дайте идею, как это сделать малой кровью. Господа, попрошу быть попроще! Не забывайте классиков:"Горе от ума", а не от чего-то иного!
Спасибо.

Автор: =Vit= 23.1.2003, 02:38
Послать сообщение:

http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=32;t=2902

Автор: brb 23.1.2003, 04:14
SendMessage(GetWindow(ComboBox->Handle,GW_CHILD), EM_SETREADONLY, 1, 0);
Да, Жаль, только, что и скрол блокируется :(

Автор: SkyDaemon 23.1.2003, 04:34
А так тебе надо блокировать только ввод букв - так это ещё проще:
свойство Style (надо его поставить csDropDownList)

Автор: brb 23.1.2003, 05:27
почему? В там может быть все что угодно. Мне надо ReadOnly, но с работающим скроллом. Другими словами, чтобы индекс НЕ МОГ стать -1 без обработчиков ивентов или с самым минимальным.
Спасибо.

Автор: SkyDaemon 23.1.2003, 05:52
Ну, вот я и говорю, установи свойство Style в значение csDropDownList - и будет работать только Scroll, а в ручную ввести значение будет нельзя, если в самом начале в качестве инициализации поставить какой-нибудь индекс, то он уже никогда не станет равным -1, разве что его установят из кода или не удалят все записи из списка.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)