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

Вниз

Событие изменния ComboBox-a   Найти похожие ветки 

 
Дима С   (2008-09-15 00:51) [0]

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


 
{RASkov} ©   (2008-09-15 01:04) [1]

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


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


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

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


 
Dmitry S ©   (2008-09-15 10:42) [3]


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

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

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


 
Ega23 ©   (2008-09-15 10:53) [4]

ComboBox.ItemIndex := Value;

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


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


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

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


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

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


 
{RASkov} ©   (2008-09-15 12:21) [7]

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

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


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


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

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


 
{RASkov} ©   (2008-09-15 12:34) [9]

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

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


 
Dmitry S ©   (2008-09-15 12:58) [10]


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

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

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


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


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

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


 
{RASkov} ©   (2008-09-15 16:46) [12]

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

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


 
Dmitry S ©   (2008-09-15 17:42) [13]


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

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


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

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

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


 
Palladin ©   (2008-09-15 18:08) [15]


> А если пользователь тыкает мышкой

куда он мышкой тыкает?


 
Dmitry S ©   (2008-09-15 18:08) [16]


> {RASkov} ©   (15.09.08 18:00) [14]

Что, первый раз слышишь чтоли? Тракторист - это тот, кто работает без мыши:) Раньше когда-то так было :)


 
Dmitry S ©   (2008-09-15 18:09) [17]


> куда он мышкой тыкает?

В комбик


 
Palladin ©   (2008-09-15 18:17) [18]

тогда Комбик.OnClick, и делай свое грязное дело. я вообще не пойму, с какой такой внеземной радости, я не смогу перевести на комбик фокус тыкая по нему же мышкой


 
{RASkov} ©   (2008-09-15 19:35) [19]

> [18] Palladin ©   (15.09.08 18:17)
> я вообще не пойму, с какой такой внеземной радости, я не
> смогу перевести на комбик фокус тыкая по нему же мышкой

Только ему наоборот вроде нужно....))

> А если пользователь тыкает мышкой - мне надо, чтобы фокус
> не оставался на комбике, а пропадал

т.е. мышкой в него(комбик) - тык, а фокус не в нем остался.... Фик знает чего нужно :)
На ОнКлик комбика вызывать егойный ОнЕксит... фик знает)


 
{RASkov} ©   (2008-09-15 19:36) [20]

> [16] Dmitry S ©   (15.09.08 18:08)
> Тракторист - это тот, кто работает без мыши:)

Ясно) Будем иметь в виду)


 
Palladin ©   (2008-09-15 19:40) [21]


> Только ему наоборот вроде нужно....))

А если пользователь тыкает мышкой - мне надо, чтобы фокус не оставался на комбике

куда он мышкой тыкает?

В комбик


 
{RASkov} ©   (2008-09-15 19:51) [22]

> > я вообще не пойму, с какой такой внеземной радости, я не
> смогу перевести на комбик фокус тыкая по нему же мышкой

> [21] Palladin ©   (15.09.08 19:40)

Ну и? :)
Тыркнули по комбику мышой, а мыша так и отскочила от него :) ....или не так, мож я не верно все понимаю :(


 
Palladin ©   (2008-09-15 19:55) [23]

ха, а ты думаешь он понимает?


 
Smile   (2008-09-15 19:56) [24]

А почему не
> Германн ©   (15.09.08 01:07) [2]
> А зачем? Какая при этом может быть разница?

?
Надуманная ветка.
Автор похоже не вполне осознает чего хочет:(


 
Anatoly Podgoretsky ©   (2008-09-15 20:02) [25]

> Palladin  (15.09.2008 18:08:15)  [15]

В коробку передач


 
{RASkov} ©   (2008-09-15 20:07) [26]

> ха, а ты думаешь он понимает?

Всё ясно :)


 
Дмитрий С   (2008-09-15 21:11) [27]

Разговорились-то, я уже все сделал:)


 
Плохиш ©   (2008-09-16 00:08) [28]


> Дмитрий С   (15.09.08 21:11) [27]
> Разговорились-то, я уже все сделал

Поделись.


 
Дмитрий С   (2008-09-16 00:28) [29]

Сделал, как сам и предложил:)

Идея такая:
На форме, к примеру, TListBox. Когда пользователь проводит курсором по нему, то автоматически выделяется та строка, над которой курсор. Одновременно с выделением на место строки подставляется TComboBox. Т.е. пользователь не нажимая кнопок мыши выделяет нужный элемент и вызывает его редактор. Далее он мышкой кликает по стрелочке и выбирает нужный ему вариант. И все продолжается в том же духе...
Однако если он работает только с клавиатурой... Он с помощью клавиш стрелок выбирает строку и помощью клавиатуры выбирает нужный вариант - тут нужно следить да тем, чтобы ListBox не реагировал на движения мыши - чтобы Комбик не "убежал". А после того как пользователь сделал изменения (срабатывает OnExit комбика) ListBox вновь ведет себя по-прежнему...
Както- так


 
Германн ©   (2008-09-16 00:31) [30]


> Плохиш ©   (16.09.08 00:08) [28]
>
>

А тебе это нужно? Это решение либо через [18], либо перректально. Первое очевидно, второе нафик.
:)


 
Германн ©   (2008-09-16 00:35) [31]


> Дмитрий С   (16.09.08 00:28) [29]
>
> Сделал, как сам и предложил:)
>
> Идея такая:
>

Ну а я что говорил? "Както- так" = "перректально".


 
MsGuns ©   (2008-09-16 11:08) [32]

Автору -
"А винтовку тебе, а послать тебя в бой" (ВВС)

чтоб фигней не маялся


 
Плохиш ©   (2008-09-16 11:45) [33]


> Германн ©   (16.09.08 00:31) [30]
>
> > Плохиш ©   (16.09.08 00:08) [28]
>
> А тебе это нужно?

Думаешь один Ega23 шедевры по стенам развешивает? ;-)


 
Германн ©   (2008-09-16 14:19) [34]


> Плохиш ©   (16.09.08 11:45) [33]

:)



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

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

Наверх




Память: 0.55 MB
Время: 0.021 c
2-1221679625
SpinButton
2008-09-17 23:27
2008.10.26
SpinButton


2-1221731916
cyborg
2008-09-18 13:58
2008.10.26
Нужен совет по выбору компонента


15-1220358822
Interior
2008-09-02 16:33
2008.10.26
Что лучше использовать для управления рабочими столами


2-1221815015
cruiser
2008-09-19 13:03
2008.10.26
Отлов нажатия определенной комбинации клавиш


2-1221563831
sD
2008-09-16 15:17
2008.10.26
Как произвести логическое уножение чисел