
08.04.2012, 09:03
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TExImage = class(TImage)
private
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure MouseEnter(Sender: TObject);
procedure MouseLeave(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TExImage }
procedure TExImage.CMMouseEnter(var Message: TMessage);
begin
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;
procedure TExImage.CMMouseLeave(var Message: TMessage);
begin
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
with TExImage.Create(Self) do
begin
Parent:=Self;
Left:=10;
Top:=10;
Width:=100;
Height:=100;
Canvas.Brush.Color:=clBtnHighlight;
Canvas.FillRect(ClientRect);
OnMouseEnter:=MouseEnter;
OnMouseLeave:=MouseLeave;
end;
end;
procedure TForm1.MouseEnter(Sender: TObject);
begin
TExImage(Sender).Canvas.Brush.Color:=clBtnFace;
TExImage(Sender).Canvas.FillRect(ClientRect);
end;
procedure TForm1.MouseLeave(Sender: TObject);
begin
TExImage(Sender).Canvas.Brush.Color:=clBtnHighlight;
TExImage(Sender).Canvas.FillRect(ClientRect);
end;
end.
http://data.cod.ru/147629
__________________
Пишу программы за еду.
__________________
|