Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Событие изменния ComboBox-a


Страницы:   1 2

Дима С ©   (2008-09-15 00:51:00) 

Можно как-то узнать каким образом было сделано изменение значения Combo - с помощью клавиатуры (клавиши вверх/вниз, incr.search) или с помощью мыши?


{RASkov}   (2008-09-15 18:00:00) [21]

> [13] Dmitry S ©   (15.09.08 17:42)

И что? :) Я ничего не понял... :(
Программа пишется в трактор?:)


Dmitry S   (2008-09-15 17:42:00) [22]


> {RASkov} ©   (15.09.08 16:46) [12]

Если пользователь тракторист (тот, кто работает додумается работать с данной формой с помощью клавиатуры), то он сам нажмет Tab (или другие кнопки, которые определены мной), чтобы уйти с данного контрола, тем самым вызвать OnExit и сохранить данные из комбика куда нужно.
А если пользователь тыкает мышкой - мне надо, чтобы фокус не оставался на комбике, а пропадал, тем самым вызывай OnExit... и так далее...


{RASkov}   (2008-09-15 16:46:00) [23]

> [10] Dmitry S ©   (15.09.08 12:58)

А теперь подумай, как программа определит, что выбранный итем это временно выбранный с клавиатуры пока не дошли до нужного?
А как нужный определить?
У комбика должен быть ИИ.
Можно конечно сделать задержку на окончательный выбор итема и вызова "долгой" процедуры. Но как определить паузу?
Т.е. если в течении паузы выбран другой итем, то паузу начинать с нуля и "зыбыть" предыдущий выбор..... по окончании паузы вызвать процедуру для выбранного последним итема... Как-то так наверное....


Плохиш   (2008-09-15 13:21:00) [24]


> росто обычно пользователь мышкой сразу выбирает нужный результат,
>  а клавиатурой за несколько нажатий.

О, мышка с устройством чтения мыслев :-))


Dmitry S   (2008-09-15 12:58:00) [25]


> ComboBox.ItemIndex := Value;
>
> Это как будешь отлавливать?

А это без разницы как :)

Просто обычнопользователь мышкой сразу выбирает нужный результат, а клавиатурой за несколько нажатий.
И если пользователь выбрал нужный результат мышью, можно автоматически выполнить некоторое действие (тем самым избавить пользователя от недопонимания и лишнего клика). Т.е. сделать поведение программы ожидаемым для пользователя.


{RASkov}   (2008-09-15 12:34:00) [26]

> [8] Правильный$Вася   (15.09.08 12:29)

Хм... кто последний, того и...
? :) Да ладно, мне это не интересно)
>>
Автор, лучше озвуч главную цель задуманного, может найдется решение проще....


Правильный$Вася   (2008-09-15 12:29:00) [27]


> А эт смотря как вставишь :)

клавой вызываю контектное меню, а мышой в нем кликаю
или наоборот


{RASkov}   (2008-09-15 12:21:00) [28]

> [6] Правильный$Вася   (15.09.08 12:07)

А эт смотря как вставишь :)


Правильный$Вася   (2008-09-15 12:07:00) [29]

а если комбо допускает редактирование, я вставляю данные из буфера
это как по твоей классификации - мышой или клавой?


Плохиш   (2008-09-15 11:15:00) [30]


> Dmitry S ©   (15.09.08 10:42) [3]
>
> > А зачем? Какая при этом может быть разница?
>
> Надо. Для упрощения работы с программой.

Спасибо, развеселил...


Ega23   (2008-09-15 10:53:00) [31]

ComboBox.ItemIndex := Value;

Это как будешь отлавливать?


Dmitry S   (2008-09-15 10:42:00) [32]


> А зачем? Какая при этом может быть разница?

Надо. Для упрощения работы с программой.

А как такая идея:
Ловить события OnMouseDown и OnKeyDown. Какое было последнее перед OnClick, то и определяет чем работал пользователь.


Германн   (2008-09-15 01:07:00) [33]


> Дима С   (15.09.08 00:51)

А зачем? Какая при этом может быть разница?


{RASkov}   (2008-09-15 01:04:00) [34]

Врядли... В худшем случае свой "комбик" делать, где и фильтровать изменение...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо