Главная страница
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.048 c
15-1146911452
Nic
2006-05-06 14:30
2006.06.04
Сколько бы Вы хотели иметь детей..


2-1147984314
Nikolaich
2006-05-19 00:31
2006.06.04
юникод в виде байтов


2-1147782849
pathfinder
2006-05-16 16:34
2006.06.04
Определение кодировки?


1-1146241343
Archy
2006-04-28 20:22
2006.06.04
Коды Шеннона−Фэно


2-1147694454
Piero
2006-05-15 16:00
2006.06.04
Пароль к БД