Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как узнать сообщение


sydenis ©   (2008-06-09 16:15:00) 

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


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


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

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


Anatoly Podgoretsky   (2008-06-09 16:33:00) [2]

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

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


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

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


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

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

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

В OnEnter:
Handler(Sender, True);

В OnExit:
Handler(Sender, False);

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо