Вниз
Скачать: CL | DM;

как узнать сообщение   Найти похожие ветки 

 
sydenis   (2008-06-09 16:15) [0]

Двум событиям контрола присвоен один обработчик, напр, на вхождение и выхождение мыши. Но хотелось бы чтоб этот обработчик внутри себя отличал WM_MOUSLEAVE от ..ENTER.  Как бы из Senderа вытянуть полученный месадж?


 
Поросенок Винни-Пух ©   (2008-06-09 16:23) [1]

смотреть позицию мышинного курсора


 
Юрий Зотов ©   (2008-06-09 16:23) [2]

Если эта информация нигде не хранится, то и вытаскивать ее неоткуда. Значит, или Sender должен хранить ее внутри себя, или ее надо устанавливаеть где-то снаружи, в момент прихода самого сообщения (например, переключать флажок в Application.OnMessage).

Но проще сделать разные обработчики. Если они имеют общую часть, то ее можно вынести в отдельный метод. Например:

В OnEnter:
Handler(Sender, True);

В OnExit:
Handler(Sender, False);

Общий обработчик:
pocedure TForm1.Handler(Sender: TObject; IsEnter: boolean);


 
Anatoly Podgoretsky ©   (2008-06-09 16:33) [3]

> sydenis  (09.06.2008 16:15:00)  [0]

Два разных обработчика и третья процедура с общей частью.


 
sydenis   (2008-06-09 16:55) [4]


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

вот сейчас и сделано, просто хотелось уже что-то поизящней придумать..



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
2-1212932812
Ден
2008-06-08 17:46
2008.07.06
Управление окнами других приложений


2-1212577251
DON
2008-06-04 15:00
2008.07.06
Вставка хелпа в проект


2-1212771815
DJ_UZer
2008-06-06 21:03
2008.07.06
MRU


15-1211534621
Slider007
2008-05-23 13:23
2008.07.06
С днем рождения ! 23 мая 2008 пятница


2-1213036187
Slew
2008-06-09 22:29
2008.07.06
диски




   Наверх