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

Вниз

Событи на мыше   Найти похожие ветки 

 
Ezorcist   (2006-05-11 08:09) [0]

Есть такое, что б вызывалось, когда мышь входит в облать объекта, и когда выходит из нее?


 
Elen ©   (2006-05-11 08:26) [1]

Есть событие OnMouseMove для любых визуальных объектов попробуй его


 
Gydvin ©   (2006-05-11 08:37) [2]

вот потомок от лабел с нужными тебе функциями

unit Newlabel1;

interface

uses
 SysUtils, Classes, Controls, StdCtrls;

type
 tNewlabel = class(TLabel)

 private
   { Private declarations }
 protected
   { Protected declarations }
 public
   { Public declarations }
 published
   { Published declarations }
   property OnMouseEnter;
   property OnMouseLeave;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Samples", [TNewlabel]);
end;

end.


 
sniknik ©   (2006-05-11 08:38) [3]

события есть, но обрабатываются они обычно сами внутри компанента, методы для "вывода наружу" не сделаны (ничего не мешает самому также сделать).
псмотри исходный код компанента TSpeedButton например.


 
Loginov Dmitry ©   (2006-05-11 08:51) [4]

Gydvin ©   (11.05.06 8:37) [2]
В обычном TLabel эти события уже присутствуют.


 
Gydvin ©   (2006-05-11 09:24) [5]

ой извините  )))

вот от tpanel

unit Newpanel1;

interface

uses
 SysUtils, Classes, Controls, StdCtrls,ExtCtrls,messages;

type
 tNewpanel = class(Tpanel)

 private
   { Private declarations }
    FOnMouseLeave: TNotifyEvent;
   FOnMouseEnter: TNotifyEvent;
 protected
   { Protected declarations }
   procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
   procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
 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 tNewpanel.CMMouseEnter(var Message: TMessage);
begin
 inherited;
 if Assigned(FOnMouseEnter) then
   FOnMouseEnter(Self);
end;

procedure tNewpanel.CMMouseLeave(var Message: TMessage);
begin
 inherited;
 if Assigned(FOnMouseLeave) then
   FOnMouseLeave(Self);
end;

procedure Register;
begin
 RegisterComponents("Samples", [TNewpanel]);
end;

end.


 
Ezorcist   (2006-05-15 21:34) [6]

А как собственно использовать этот код? [5] Всмысле для Image например?


 
Loginov Dmitry ©   (2006-05-15 22:53) [7]

Ezorcist   (15.05.06 21:34) [6]
А как собственно использовать этот код?


Это собственно и есть компонент. Сперва установи его (Component -> Install Component).

Всмысле для Image например?
Напиши TImage вместо TPanel - будет для Image.


 
Leonid Troyanovsky ©   (2006-05-15 23:06) [8]


> Ezorcist   (15.05.06 21:34) [6]

> А как собственно использовать этот код? [5] Всмысле для
> Image например?


Можно обойтись и без создания наследника для контрола,
т.е., обрабатывать оные события в его паренте.

http://rsdn.ru/Forum/Message.aspx?mid=541365&only=1

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.052 c
4-1141895510
msg
2006-03-09 12:11
2006.06.04
GetMessage в отдельном потоке


4-1142384579
GRAVIX
2006-03-15 04:02
2006.06.04
Работа с реестром на чистом WINAPI


1-1146170053
GL00m
2006-04-28 00:34
2006.06.04
Русский язык в диалогах Rave Report


1-1146203804
K_VAL
2006-04-28 09:56
2006.06.04
Приложение и разрешение экрана


8-1135515760
Glex
2005-12-25 16:02
2006.06.04
Как управлять Z-Index ом у TPanel?