Главная страница
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.013 c
10-1143450022
msgipss
2006-03-27 13:00
2008.05.04
Использование свойства Calculation com сервера Excel


2-1207421999
lewka-serdceed
2008-04-05 22:59
2008.05.04
Процессы в памяти


15-1201816478
Eraser
2008-02-01 00:54
2008.05.04
Remote Office Manager - бета тестирование 2


15-1205850909
Запись на диски
2008-03-18 17:35
2008.05.04
Запись на диски


15-1206152154
Morpheuz
2008-03-22 05:15
2008.05.04
Цена делфи