![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
движение Image
Змей © (2006-02-03 18:32:00)Здравствуйте Мастера!
имеется Image1
хочу сделать следующее
когда я навожу мышь на Image1 то нужно чтобы Image1
передвигалась на image1.Left:=Image1.Left+5
когда убирал с нее image1.Left:=Image1.Left-5 т.е. вставала на место
это хорошо получается с label т.к. у нее есть свойство Label1MouseLeave
а у image только Image1MouseMove
как это можно сделать?
СПАСИБО!
Змей (2006-02-03 19:13:00) [1]пасыб
ssk (2006-02-03 19:04:00) [2]вот держи компонент. специально для тебя сделал по совету, который сам где-то давно скачивал, только там пример для кнопки был:
unit ImageMouse;
interface
uses
Classes, ExtCtrls, Messages, Controls;
type
TImageMouse = class(TImage)
private
FOnMouseLeave: TNotifyEvent;
FOnMouseEnter: TNotifyEvent;
procedure CMMouseEnter(var msg: TMessage);
message CM_MOUSEENTER;
procedure CMMouseLeave(var msg: TMessage);
message CM_MOUSELEAVE;
protected
procedure DoMouseEnter; dynamic;
procedure DoMouseLeave; dynamic;
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
procedure Register;
implementation
procedure TImageMouse.CMMouseEnter(var msg: TMessage);
begin
DoMouseEnter;
end;
procedure TImageMouse.CMMouseLeave(var msg: TMessage);
begin
DoMouseLeave;
end;
procedure TImageMouse.DoMouseEnter;
begin
if Assigned(FOnMouseEnter) then
FOnMouseEnter(Self);
end;
procedure TImageMouse.DoMouseLeave;
begin
if Assigned(FOnMouseLeave) then
FOnMouseLeave(Self);
end;
procedure Register;
begin
RegisterComponents('Samples', [TImageMouse]);
end;
end.