【发布时间】:2011-07-15 08:54:07
【问题描述】:
我有一个有 5 个不同大小的框架的应用程序。当我从一个框架移动到另一个框架时,我想动态调整主窗体的大小以适应框架。
我可以使用框架的MinHeight/MinWidth 属性来强制主窗体适应框架,但是当移动到较小的框架时,主窗体不会调整它的大小。
有什么想法吗?
--编辑
...
TFormMain = Class(TForm)
...
public
FrameImportPackage: TFrameImportPackage;
...
procedure TFormMain.MenuPackagesImportClick(Sender: TObject);
begin
if not (Assigned(FrameImportPackage)) then
begin
FrameImportPackage := TFrameImportPackage.Create(Self);
FrameImportPackage.LabelFrameCaption.Caption := 'Import or Edit a Package';
end
else
begin
FrameImportPackage.BringToFront;
end;
FrameImportPackage.Parent := Self;
end;
--编辑
问候,彼得
【问题讨论】:
-
当时是否只有一帧可见,您根据用户输入或其他条件更改可见帧?我想说只是在“从一帧移动到另一帧”的事件/方法中将主窗体的大小设置为“当前帧”的大小,即
mainForm.Width := currentFrame.Constraints.MinWidth;。 -
您能否编辑您的问题以消除面板(如您的问题标题)和框架之间的混淆。
-
面板与框架完全无关。行为是一样的。
-
这是做什么的?
SetFrameParent(FrameImportPackage)。为什么不是简单的FrameImportPackage.Parent := Self? -
那是多余的代码。已删除。
标签: delphi dynamic resize frame