Текущий архив: 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.52 MB
Время: 0.005 c