Главная страница
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.015 c
2-1207485828
TRSteep
2008-04-06 16:43
2008.05.04
Выравнивание


15-1205908112
Slider007
2008-03-19 09:28
2008.05.04
С днем рождения ! 19 марта 2008 среда


2-1207284685
Pavelkq
2008-04-04 08:51
2008.05.04
Присоединение окна чужой программы к форме.


2-1207486169
dumka
2008-04-06 16:49
2008.05.04
Канва


15-1205915294
bb
2008-03-19 11:28
2008.05.04
Бизнес план