+ -
当前位置:首页 → 问答吧 → 我只是想给控件加个图片而已,求帮忙

我只是想给控件加个图片而已,求帮忙

时间:2011-12-20

来源:互联网

我在写一个控件,如果把图片加载属性里,老是报内存错误,现象应该是TPICURE没有创建出来,但我在CREATE里面肯定是创建了的
为了简单直观,我写了个加TPICTURE的小例子,依然有这个错误,大家帮忙看下
下面是代码:

unit NumEdit; //单元名称
Interface
uses //该控件需要调用的单元
  SysUtils, Classes, Controls, StdCtrls,ExtCtrls,Graphics,messages;
type
  TNumEdit = class(TImage) //控件类,继承自TEdit
  private //私有成员
  { Private declarations }
  FPic:TPicture;
  procedure setPic(Value: TPicture);

  procedure PicChanged(sender:TObject);
  procedure Paint;override;
  procedure WMSize(var Message: TWMSize); message WM_SIZE;
  protected //保护成员
  { Protected declarations }
  public //公有成员
  { Public declarations }
  constructor Create(AOwner:TComponent);
  published //发布成员
  { Published declarations }
  property Pic:TPicture read FPic write setPic;

  end;
procedure Register; //过程声明
implementation

//下面函数功能是将控件TNumEdit的图标显示在Samples面板上。

procedure Register;
begin
  RegisterComponents('Samples', [TNumEdit]);
end;
{ TNumEdit }

constructor TNumEdit.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FPic:=TPicture.Create;
  Fpic.OnChange:=PicChanged;
end;

procedure TNumEdit.Paint;
begin
  inherited;
end;

procedure TNumEdit.PicChanged(sender: TObject);
begin
  self.Invalidate;
end;

procedure TNumEdit.setPic(Value: TPicture);
begin
  FPic.Assign(Value);
end;

procedure TNumEdit.WMSize(var Message: TWMSize);
begin
  paint;
end;

end.

作者: ciah331   发布时间: 2011-12-20

要申请空间把

作者: jacknes009   发布时间: 2011-12-20

1楼的兄弟,根本没看内容吧:(

作者: ciah331   发布时间: 2011-12-20