Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизСобыти на мыше Найти похожие ветки
← →
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]ой извините )))
вот от tpanelunit 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c