0

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:
Vahid の回答の方が優れていました。ありがとうヴァヒド。

4

1 に答える 1

3

このコードをパネルに追加します。

...
protected
   procedure Paint; override;
...
procedure TDisplay1.Paint;
begin
 inherited;
 if Ready then Display.SetupBitmap(TRUE, clYellow32);
end;
于 2012-08-08T10:28:25.950 に答える