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

Вниз

Как поймать момент покидания курсором контрола?   Найти похожие ветки 

 
asdf2   (2008-04-08 14:45) [0]

Сабж.


 
Сергей М. ©   (2008-04-08 14:47) [1]

OnMouseLeave ?


 
asdf2   (2008-04-08 14:48) [2]


> Сергей М. ©   (08.04.08 14:47) [1]

угу, это и хочу сделать, тока в D7


 
Семеныч   (2008-04-08 14:55) [3]

Обработайте сообщение CM_MOUSELEAVE


 
DVM ©   (2008-04-08 14:55) [4]

unit FPanel;

interface

uses
 SysUtils, Classes, Controls, ExtCtrls, Messages;

type
 TFPanel = class(TPanel)
 private
   FOnMouseEnter, FOnMouseLeave, FOnPaint: TNotifyEvent;
   procedure CMMouseEnter(var msg:TMessage); message CM_MOUSEENTER;
   procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
 protected
    procedure Paint; override;
 public
   property Canvas;
 published
   property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
   property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
   property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
 end;

procedure Register;

implementation
                     
procedure Register;
begin
 RegisterComponents("MyComponent", [TFPanel]);
end;

{ TFPanel }

procedure TFPanel.CMMouseEnter(var msg: TMessage);
begin
 inherited;
 if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;

procedure TFPanel.CMMouseLeave(var msg: TMessage);
begin
 inherited;
 if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;
procedure TFPanel.Paint;
begin
 inherited;
 if Assigned(FOnPaint) then FOnPaint(Self);
end;

end.


 
antonn ©   (2008-04-08 14:56) [5]

значит надо в WndProc() нужного окна поймать CM_MOUSELEAVE


 
Семеныч   (2008-04-08 15:02) [6]

> DVM ©   (08.04.08 14:55) [4]

При профессиональной разработке компонентов, создавая событие, обычно вводят метод его диспечеризации.


 
DVM ©   (2008-04-08 15:03) [7]

Только способ CM_MOUSELEAVE не очень надежен. Бывает (редко), что мышь уже не над контролом, а сообщение не пришло. Если это очень критично, то не помешает еще и таймер.


 
DVM ©   (2008-04-08 15:05) [8]


> При профессиональной разработке компонентов

А кто говорил про профессиональную разработку компонентов?

Этот кусок с форума http://forum.vingrad.ru/forum/topic-181327.html.
А DoMouseEnter, DoMouseLeave автор я думаю догадается.


 
asdf2   (2008-04-08 15:12) [9]


> DVM ©   (08.04.08 15:05) [8]

догадаюсь
спасибо


 
Leonid Troyanovsky ©   (2008-04-08 15:35) [10]


> asdf2   (08.04.08 14:45)  

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/81212d9cecc96ee4

--
Regards, LVT.



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1206227132
Petr V. Abramov
2008-03-23 02:05
2008.05.04
Вакансия Delphi программист


2-1207564254
DelphiN!
2008-04-07 14:30
2008.05.04
Ошибка AV в потоке


15-1206100087
Пробегал2...
2008-03-21 14:48
2008.05.04
COM-порты


15-1206163183
Л.Николай
2008-03-22 08:19
2008.05.04
ImageList с поддержкой 32 битных иконок


15-1206382954
oxffff
2008-03-24 21:22
2008.05.04
The Unicode Shift