Объясните,может под конец дня крыша едет не спеша,но меня интересуют два события в combobox:OnCloseUp и OnClick.Поставил точки останова и получается что вначале OnCloseUp,а потом OnClick.Но по мне это как-то не логично.
Здравствуйте, linker, Вы писали:
L>Объясните,может под конец дня крыша едет не спеша,но меня интересуют два события в combobox:OnCloseUp и OnClick.Поставил точки останова и получается что вначале OnCloseUp,а потом OnClick.Но по мне это как-то не логично.
Здравствуйте, Demiurg, Вы писали:
D>Здравствуйте, linker, Вы писали:
L>>Объясните,может под конец дня крыша едет не спеша,но меня интересуют два события в combobox:OnCloseUp и OnClick.Поставил точки останова и получается что вначале OnCloseUp,а потом OnClick.Но по мне это как-то не логично.
D> Почему?
Вначале вроде как кликаешь потом закрывается или я не прав?
[]
D>> Почему? L>Вначале вроде как кликаешь потом закрывается или я не прав?
Логика тут простая: по клику на выпадающем списке его надо сначала скрыть, дабы не вызвать какого неправильного поведения (допустим, вы на OnClick повесили вызов ShowMessage — некрасиво получится, если будет висящий в воздухе листбокс). Поэтому сначала встроенный листбокс у комбобокса скрывается, что провоцирует вызов события OnCloseUp, а уже затем идет вызов OnClick. Имхо, все логично.
Здравствуйте, Flamer, Вы писали:
F>Здравствуйте, linker, Вы писали:
F>[]
D>>> Почему? L>>Вначале вроде как кликаешь потом закрывается или я не прав?
F>Логика тут простая: по клику на выпадающем списке его надо сначала скрыть, дабы не вызвать какого неправильного поведения (допустим, вы на OnClick повесили вызов ShowMessage — некрасиво получится, если будет висящий в воздухе листбокс). Поэтому сначала встроенный листбокс у комбобокса скрывается, что провоцирует вызов события OnCloseUp, а уже затем идет вызов OnClick. Имхо, все логично.
Здравствуйте, linker, Вы писали:
L>Здравствуйте, Flamer, Вы писали:
F>>Здравствуйте, linker, Вы писали:
F>>[]
D>>>> Почему? L>>>Вначале вроде как кликаешь потом закрывается или я не прав?
F>>Логика тут простая: по клику на выпадающем списке его надо сначала скрыть, дабы не вызвать какого неправильного поведения (допустим, вы на OnClick повесили вызов ShowMessage — некрасиво получится, если будет висящий в воздухе листбокс). Поэтому сначала встроенный листбокс у комбобокса скрывается, что провоцирует вызов события OnCloseUp, а уже затем идет вызов OnClick. Имхо, все логично.
L>Спасибо, понятно
А вообще такие вещи достаточно просто узнать через стэк.
Re[6]: Кто первее (события в combobox)
От:
Аноним
Дата:
20.04.05 07:51
Оценка:
Здравствуйте, delphinchik, Вы писали:
D>Здравствуйте, linker, Вы писали:
L>>Здравствуйте, Flamer, Вы писали:
F>>>Здравствуйте, linker, Вы писали:
Чёта, мужики, у вас базар гнилой какой-то. Событие OnClick у TComboBox в Delphi вызывается при выборе элемента списка любым способом (в т. ч. с клавиатуры). Рассуждения что раньше должно вызываться, что позже, вообще не имеют под собой оснований.
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, delphinchik, Вы писали:
D>>Здравствуйте, linker, Вы писали:
L>>>Здравствуйте, Flamer, Вы писали:
F>>>>Здравствуйте, linker, Вы писали:
А>Чёта, мужики, у вас базар гнилой какой-то. Событие OnClick у TComboBox в Delphi вызывается при выборе элемента списка любым способом (в т. ч. с клавиатуры). Рассуждения что раньше должно вызываться, что позже, вообще не имеют под собой оснований.
Кому как,а вообще попахивает провакацией.Хоть бы аргументы привел.
Здравствуйте, linker, Вы писали:
L>Кому как,а вообще попахивает провакацией.Хоть бы аргументы привел.
К администраторам: Если кол-во поситетелей RSDN всегда увеличивается, то можно закрыть доступ всяких <АНОНИМ>, в противном случае без них никак...
Re[8]: Кто первее (события в combobox)
От:
Аноним
Дата:
20.04.05 09:53
Оценка:
Здравствуйте, linker, Вы писали:
L>Кому как,а вообще попахивает провакацией.
Это и есть провокация
L>Хоть бы аргументы привел.
А я и привёл вкратце. Ладно, можно и подробнее.
>Логика тут простая: по клику на выпадающем списке
В данном случае OnClick к клику отношения не имеет.
>его надо сначала скрыть, дабы не вызвать какого неправильного поведения (допустим, вы на OnClick повесили вызов ShowMessage — некрасиво получится, если будет висящий в воздухе листбокс). Поэтому сначала встроенный листбокс у комбобокса скрывается, что провоцирует вызов события OnCloseUp, а уже затем идет вызов OnClick.
Теоритически, можно скрыть окно, потом вызвать OnClick, а потом OnCloseUp.
>Имхо, все логично.
Разработчики чаще выбирают тот вариант, который им легче реализовать, а ни тот, который более логичен.
А>Разработчики чаще выбирают тот вариант, который им легче реализовать, а ни тот, который более логичен.
Это тоже спорный вопрос,смотря какой разработчик(Если лентяй и Аноним то тогда наверное да).
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[9]: Кто первее (события в combobox)
От:
Аноним
Дата:
20.04.05 10:08
Оценка:
Здравствуйте, Vodyamba, Вы писали:
V>К администраторам: Если кол-во поситетелей RSDN всегда увеличивается, то можно закрыть доступ всяких <АНОНИМ>, в противном случае без них никак...
Зачахнет форум. Спрашивать будет практически некому. Будут все вариться в собственном соку. Так что ты не разбавляй бадягу.
Re[10]: Кто первее (события в combobox)
От:
Аноним
Дата:
20.04.05 10:15
Оценка:
Здравствуйте, linker, Вы писали:
А>>Разработчики чаще выбирают тот вариант, который им легче реализовать, а ни тот, который более логичен. L>Это тоже спорный вопрос,смотря какой разработчик(Если лентяй и Аноним то тогда наверное да).
Хорошие программеры трудолюбием очень редко отличаются. Да и времени на все мелочи не достаёт.
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, linker, Вы писали:
А>>>Разработчики чаще выбирают тот вариант, который им легче реализовать, а ни тот, который более логичен. L>>Это тоже спорный вопрос,смотря какой разработчик(Если лентяй и Аноним то тогда наверное да).
А>Хорошие программеры трудолюбием очень редко отличаются. Да и времени на все мелочи не достаёт.
Это тоже была провокация с моей стороны,по моему вопрос исчерпан и не зачем больше флеймить.