我继承的是TPanel类,我在Imagepanel类中增加了一个ImageFileName字段来接受输入图片的路径。
这个组件可以安装,但是再实际使用的时候,提示TImage类找不到等unit Imagepanel;interfaceuses
Windows, Messages, SysUtils, Classes, Controls, ExtCtrls;type
TImagepanel = class(Tpanel)
private
FImage:TImage;
FFileName:String;
procedure SetPanelImage(Value:String);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent);
published
property ImageFileName:String Read FFileName Write SetPanelImage;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Custom', [TImagepanel]);
end;{ TImagepanel }constructor TImagepanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FImage :=TImage.Create(Self);
FImage.Align := alClient;
end;procedure TImagepanel.SetPanelImage(Value: String);
begin
if Value ='' then Exit;
FFileName := Value;
FImage.Picture.LoadFromFile(Value);
end;end.
这个组件可以安装,但是再实际使用的时候,提示TImage类找不到等unit Imagepanel;interfaceuses
Windows, Messages, SysUtils, Classes, Controls, ExtCtrls;type
TImagepanel = class(Tpanel)
private
FImage:TImage;
FFileName:String;
procedure SetPanelImage(Value:String);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent);
published
property ImageFileName:String Read FFileName Write SetPanelImage;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Custom', [TImagepanel]);
end;{ TImagepanel }constructor TImagepanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FImage :=TImage.Create(Self);
FImage.Align := alClient;
end;procedure TImagepanel.SetPanelImage(Value: String);
begin
if Value ='' then Exit;
FFileName := Value;
FImage.Picture.LoadFromFile(Value);
end;end.
Windows, Messages, SysUtils, Classes, Controls, ExtCtrls,graphical;
begin
inherited Create(AOwner);
FImage :=TImage.Create(Self);
Fimage.Parent := self; //---------------->加上这句
FImage.Align := alClient;
end;
我马上我就给分了,但是我怎么能够使用Panel的事件啊,如Click等等,我这样做了以后,在OnClick中写了代码,但是就是不执行,这是为什么?