![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Необоснованно приходит DoubleClick. У кого-либо возникало?
DevilDevil © (2007-08-20 12:24:00)имеется несколько панелей. Непонятно почему, вдруг, при одинарном клике на панели или её дочернем компоненте приходит сообщение WMLButtonDblClk.
Ни у кого такой ерунды не возникало?
DevilDevil (2007-08-21 17:28:00) [1]фууууууууу........
залечил.... но первоисточник всёже неясен...
вобщем, послеBringToFrontвызываю ещёSetFocus
DevilDevil (2007-08-21 12:37:00) [2]> Dib@zol © (21.08.07 11:28) [11]
вроде не похоже.
СобытиеOnEnterвозникает только при получении сообщенияCMEnter.
BringToFrontприводит кSetZOrderPosition(Parent.Controls.Count-1);
ничего такого сMouseDownнет :(
Dib@zol (2007-08-21 11:28:00) [3]> Так вот... если панель активна и по ней кликнуть, то всё
> нормально, приходит OnMouseClick, а если панель неактивна,
> то при клике приходит DoubleClick !!!
Может быть, ВЦЛ просто симулирует нажатие кнопки мыши на неактивной панели, чтоб сделать её активной??? А то так ваще удобно: и активной становится и фокус появляется...
DevilDevil (2007-08-21 11:24:00) [4]> DVM © (21.08.07 10:51) [8]
мои панели - это наши компоненты, которые отличаются, но не очень сильно от обычонй панели. Этот компонент находится в пакейдже, все компоненты пакейджа написаны на билдере. + компоненты пакейджа используют один либ, размер которого огромен... :(((
Вот обраружил одну вещицу....
У каждого компонента есть событие OnEnter...
по этому событию панели вызывается BringToFront, панель "становится активной"
Так вот... если панель активна и по ней кликнуть, то всё нормально, приходит OnMouseClick, а если панель неактивна, то при клике приходит DoubleClick !!!
из-за чего такое происходит?
alshtam (2007-08-21 10:53:00) [5]У Tpanel есть событие OnmouseDown и Onmouseup
DVM (2007-08-21 10:51:00) [6]
> Понимаю, в таких условиях мне помочь достаточно сложно..
> .
> Тем не менее, если кому то приходило сообщение двойного
> клика, в то время как должно приходить одинарного --- отпишитесь!
>
ты лучше смоделируй ситуацию в пустом проекте - в нем и будем глядеть
DevilDevil (2007-08-21 10:50:00) [7]> посади панели на mousedown или mouseUP
что это значит ?
alshtam (2007-08-21 10:49:00) [8]посади панели на mousedown или mouseUP
это сообщения Wm_LbuttonDown и Wm_LbuttonUP
DevilDevil (2007-08-21 10:46:00) [9]> max_ (21.08.07 09:46) [4]
> скинь код
ээээххххх :((((((((((
Проект коммерческий, здоровый (сорсы порядка 5мб) и на C++Builder.
Понимаю, в таких условиях мне помочь достаточно сложно...
Тем не менее, если кому то приходило сообщение двойного клика, в то время как должно приходить одинарного --- отпишитесь!
max_ (2007-08-21 09:46:00) [10]скинь код
DevilDevil (2007-08-20 13:59:00) [11]> Dib@zol © (20.08.07 13:04) [1]
это врядли
> DVM © (20.08.07 13:26) [2]
на нескольких машинах?
в общем, если кто подскажет - будет здорово
DVM (2007-08-20 13:26:00) [12]
> DevilDevil ©
У вас "ля" западает, т.е. кнопка мыши.
Dib@zol (2007-08-20 13:04:00) [13]Возможно, это связано с тем, что у тебя слишком низкая скорость двойного клика. Проставь в панели управления скорость повыше и проверь - должно бы исчезнуть...