Главная страница
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.026 c
1-41239
dream
2003-11-01 09:42
2003.11.13
Поиска файлов в директории


3-40935
zsr
2003-10-17 13:27
2003.11.13
BatchMove для ADOQuery


3-41014
rosl
2003-10-16 07:04
2003.11.13
обарботать такую ситуацию


14-41993
Alex_S
2003-10-17 11:05
2003.11.13
Вопрос по поводу TurboPascal 7


8-41752
ianus
2003-06-18 18:51
2003.11.13
Tmediaplayer