首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi XE6 TForm.AutoSize

Delphi XE6 TForm.AutoSize
EN

Stack Overflow用户
提问于 2014-07-11 18:01:33
回答 2查看 1.4K关注 0票数 2

我有用Delphi XE2编写的代码,他们工作得很好。但在Delphi XE6中,它不起作用。我创建了一个Tform,属性AutoSize为true。我使用一个带有按钮的TPanel align alTop来创建一些其他的面板。

代码语言:javascript
复制
procedure TForm2.Button1Click(Sender: TObject);
var
   t :TPanel;
begin
   t := TPanel.Create(self);
   t.Parent := self;
   t.Align := alTop;
end;

窗体不能自动调整大小。如果我想看到我的所有面板,我必须移动窗体(或尝试调整大小,...)。

你有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-07-11 18:36:11

这确实是一种行为上的改变。我可以复制你报告的内容。也就是说,您的代码会导致表单大小在XE2中更改,但在XE6中不会更改。

要解决此问题,您可以手动调用AdjustSize

代码语言:javascript
复制
procedure TForm1.Button1Click(Sender: TObject);
var
  Panel: TPanel;
begin
  Panel := TPanel.Create(self);
  Panel.Parent := Self;
  Panel.Top := ClientHeight;
  Panel.Align := alTop;
  AdjustSize;
end;
票数 3
EN

Stack Overflow用户

发布于 2014-07-11 18:31:42

不对齐,使用锚点:

代码语言:javascript
复制
t.Anchors:=[TAnchorKind.akTop];

这是来自我的XE5 (没有XE6)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24695147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档