我想创建一个包含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:
瓦希德的答案更好。谢谢瓦希德。
答案 0 :(得分:3)
将此代码添加到您的面板:
...
protected
procedure Paint; override;
...
procedure TDisplay1.Paint;
begin
inherited;
if Ready then Display.SetupBitmap(TRUE, clYellow32);
end;