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

Вниз

CM_MOUSEENTER   Найти похожие ветки 

 
Litt   (2011-09-23 18:42) [0]

Здравствуйте.
У меня возникла проблема в следующем:
Навожу на котрол курсор, зажимаю ЛКМ. Перевожу на другой и отпускаю. При этом второй контрол не получает CM_MOUSEENTER и соответственно CM_MOUSELEAVE.
Как ее решить?

Пытался в WMLButtonUp добавить эту строку:Parent.Perform(CM_MOUSEENTER, 0, 0);после чего стало обрабатываться CM_MOUSELEAVE, но ENTER так и не было.


 
Rouse_ ©   (2011-09-23 18:48) [1]

Второй контрол, это тот на который ты перевел мыш или тот на котором отпустил кнопку?


 
Dimka Maslov ©   (2011-09-23 19:51) [2]

При нажатии на кнопку над контролом он получает ВСЕ события от мыши до тех пор, пока кнопка не будет отпущена. Так работает выньда.


 
Puw   (2011-09-23 20:25) [3]

Rouse_, зажал на первом, отпустил на втором.

Я так понял, что все эти CM_MOUSEENTER контролирует окно, но не понял в каких случаях оно отправляется.
Наверное, нужна функция, которая получает контрол из под мышки во время ее движения, но где она?


 
Dimka Maslov ©   (2011-09-23 20:37) [4]

СМ_MOUSEENTER отправляется контролу когда на него находит курсор, но не через очередь сообщений, а через метод Perform, ибо это внутренее сообщение VCL.

А функция, которая получает контрол по координатам называется TWinControl.ControlAtPos


 
Puw   (2011-09-23 21:56) [5]

Упростил TWinControl.ControlAtPos до поиска только по своему типу, отсылаю ему CM_MOUSEENTER и все работает.

Всем спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1315889683
Inovet
2011-09-13 08:54
2012.01.01
С Днём программиста


2-1316788939
Litt
2011-09-23 18:42
2012.01.01
CM_MOUSEENTER


3-1269443878
gog
2010-03-24 18:17
2012.01.01
Не читаются unicode данные


2-1317116536
Очень Злой
2011-09-27 13:42
2012.01.01
Можно ли вснести изменения в класс


2-1316764003
Alex_C
2011-09-23 11:46
2012.01.01
Загрузить и выгрузить Bitmap из Stream