TImage不会与父级对齐

时间:2012-08-07 20:39:40

标签: delphi

我想创建一个包含TImage32的自定义TPanel。 在手动调整父控件的大小之前,图像不会与父对齐。之后它将保持良好的对齐。
为什么呢?

TYPE
  TDisplay1= class(TPanel)
   private
    Ready: Boolean;
    RightPnl       : TPanel;
    ShowA          : TSpeedButton;
    Display        : TImage32;
   protected
    procedure Resize; override;
   public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
  end;

IMPLEMENTATION



procedure TDisplay1.Resize;    <-------- the culprit was here as suggested by Vahid
begin
 inherited;
 if Ready
 then Display.SetupBitmap(TRUE, clYellow32);
end;

更新:
我正在使用另一种方法来加载控件。如果我成功,我会通知你。

UPDATE2:
瓦希德的答案更好。谢谢瓦希德。

1 个答案:

答案 0 :(得分:3)

将此代码添加到您的面板:

...
protected
   procedure Paint; override;
...
procedure TDisplay1.Paint;
begin
 inherited;
 if Ready then Display.SetupBitmap(TRUE, clYellow32);
end;