I needed a TImage Component with a border, so I created the following:
--------------------------
----------
----------
----------
----------
----------
----------
----------
----------
----------
-----
unit MyImage;
interface
uses
SysUtils, Classes, Controls, ExtCtrls, StdCtrls,ExtDlgs,Forms,Gra
phics;
type
TMyImage = class(TPanel)
private
{ Private declarations }
FImage: TImage;
function GetPicture:TPicture;
procedure SetPicture(Value : TPicture);
protected
{ Protected declarations }
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
{ Public declarations }
published
{ Published declarations }
property Picture : TPicture read GetPicture write SetPicture;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Bobs',
[TMyImage]);
end;
constructor TMyImage.Create(AOwner : TComponent);
begin
inherited Create(AOwner);
Caption := ' ';
BevelInner := bvNone;
BevelOuter := bvNone;
BorderStyle := bsSingle;
BorderWidth := 1;
Ctl3D := False;
SetBounds(Left,Top,200,200
);
FImage := TImage.Create(Self);
FImage.Parent := Self;
FImage.Align := alClient;
FImage.Anchors := [akLeft,akTop,akRight,akBo
ttom];
FImage.Stretch := True;
end;
destructor TMyImage.Destroy;
begin
FImage.Free;
inherited;
end;
function TMyImage.GetPicture : TPicture;
begin
Result := FImage.Picture;
end;
procedure TMyImage.SetPicture(Value : TPicture);
begin
FImage.Picture.Assign(Valu
e);
end;
--------------------------
----------
----------
----------
----------
----------
----------
----------
---------
I would like to implement a MouseDown event for the Image subcomponent.
How do I do that ?
end.
Start Free Trial