скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Отслеживать переход мышки на компонент и уход ее



Оформил: DeeCo

{ 
 Folgende unit ist eine visuelle Komponente abgeleitet von TImage, welche 
 zusдtzlich die 2 Ereignisse OnMouseEnter und OnMouseLeave beinhaltet. 
}

 { 
 The following unit is a visual component inherited of TImage, which has the 
 2 additional events OnMouseEnter and OnMouseLeave. 
}

 unit ImageEx;

 interface

 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls;

 type
   TImageEx = class (TImage)
   private
     { Private declarations }
     FOnMouseLeave: TNotifyEvent;
     FOnMouseEnter: TNotifyEvent;
     procedure CMMouseEnter(var msg: TMessage);
       message CM_MOUSEENTER;
     procedure CMMouseLeave(var msg: TMessage);
       message CM_MOUSELEAVE;
   protected
     { Protected declarations }
     procedure DoMouseEnter; dynamic;
     procedure DoMouseLeave; dynamic;
   public
     { Public declarations }
   published
     { Published declarations }
     property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
     property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
   end;

 procedure Register;

 implementation

 procedure Register;
 begin
   RegisterComponents('Additional', [TImageEx]);
 end;

 { TImageEx }

 procedure TImageEx.CMMouseEnter(var msg: TMessage);
 begin
   DoMouseEnter;
 end;

 procedure TImageEx.CMMouseLeave(var msg: TMessage);
 begin
   DoMouseLeave;
 end;

 procedure TImageEx.DoMouseEnter;
 begin
   if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
 end;

 procedure TImageEx.DoMouseLeave;
 begin
   if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
 end;

 end.





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook