Главная страница
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
11-41124
Maxim Pushkar
2003-02-13 01:00
2003.11.13
Проблемы с конвертацией дат и NewFileStream


1-41432
Jel
2003-10-29 14:13
2003.11.13
iShellLink


6-41829
Незнайко
2003-09-14 11:17
2003.11.13
В двох словах


14-42036
*pavel
2003-10-16 09:29
2003.11.13
Лечение Novell


1-41561
INTAARI
2003-10-27 12:39
2003.11.13
Выявление утечки памяти