Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Правильная работа с ComboBox csDropDown   Найти похожие ветки 

 
hepry ©   (2003-10-31 14:38) [0]

Здравствуйте!
Никак не разобраться.
Combobox на форме является списком неких объектов (скажем фильтров), параметры которых определяются другими объектами на форме. Бъюсь над тем, чтобы можно было бы именовать эти объекты прямо в комбо (Style:=csDropDown, AutoComplete:=false).
OnChange как будто ищет в комбо элемент с вводимой строкой и выбивает ItemIndex в -1. (даже inherited в методе, что OnChange, комментировал, результата нет)
Как добиться нужного поведения?

Заранее спасибо.


 
ZEE ©   (2003-10-31 14:45) [1]

если я правильно понял - идется про подсветку возможного варианта ввода в ComboBox"е - так ItemIndex и будет =-1 пока ты не введешь правильную строку (т.е. кот. есть в списке)


 
hepry ©   (2003-10-31 14:49) [2]

ок. по другому (что-то сегодня у меня с лексикой :)

Переименовать конкретный Item[ItemIndex]:=Text можно из самого комбо? Или стиль csDropDown только для ввода/поиска существующих строк в контроле?


 
Юрий Федоров ©   (2003-10-31 15:04) [3]

Нельзя. Только программно. Но это очень криво, имхо


 
hepry ©   (2003-10-31 15:57) [4]

Пришлось извращаться.
Обнаружил такую последовательность событий:
OnKeyDown
OnChange
OnKeyUp

Посему, в cbxKeyDown ставлю флаг cbx.Tag:=1, cbx.HelpContext:=cbx.ItemIndex

а в cbxChange
if cbx.Tag=1 then
begin
cbx.Tag:=0;
exit;
end;
....<то, что делать при выборе элемента из комбо>

и уже в KeyUp
cbx.Items[cbx.HelpContext]:=cbx.Text;
cbx.ItemIndex:=cbx.HelpContext;

---
только теперь приходиться заморачиваться с SelLength и SelStart

:-)



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-41161
Yanval
2003-10-31 12:12
2003.11.13
title в TWebBroswer


1-41426
Эдик Дятлов
2003-10-29 13:25
2003.11.13
Изменение размеров и положения во время run-time


3-40783
Geugenk
2003-10-26 15:22
2003.11.13
Есть какие-то свойства у Ttable которые отключают отличие значени


1-41318
ARTEMKA
2003-10-29 23:56
2003.11.13
Прозрачный TPanel


1-41335
Ganjo
2003-10-30 18:27
2003.11.13
Компонет Edit: Как запретить ввод буквенных символов