Вниз
Скачать: 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.01 c
15-1211353535
Ega23
2008-05-21 11:05
2008.07.06
To-Do List - параметр Module


15-1211451464
Mozgan
2008-05-22 14:17
2008.07.06
Компонент OutlookApplication1


2-1212932812
Ден
2008-06-08 17:46
2008.07.06
Управление окнами других приложений


2-1212728038
Julia
2008-06-06 08:53
2008.07.06
пароль на .MDB


2-1212756449
tytus
2008-06-06 16:47
2008.07.06
Как оптимизировать код?




   Наверх