将框架重新导入表格

时间:2011-10-21 22:17:00

标签: delphi

如果我有一个包含框架的表单,并且我在frame.pas / dfm文件中编辑框架的布局,则表示有时(总是?)表单中的框架不会更新框架的新布局

到目前为止,我一直在从表单中删除框架,然后重新导入它。

但我记得有一种更有效的方法可以做到这一点。

如何?

2 个答案:

答案 0 :(得分:2)

取消对插入的框架所做的更改:

对于框架上的控件:在这些控件的上下文菜单中使用 Revert to Inherited

对于框架本身:在表单的上下文菜单中使用查看为文本,并从DFM中删除框架的大小。

要将插入的帧更新为其声明:

我怀疑使用 View as Text View as Form 进行快速切换,以强制创建表单的新实例。

答案 1 :(得分:1)

在form1中编辑框架后,您将无法自动获取原始frame1.pas / dfm中的更改。

直到您在form1中编辑框架中的任何项目,form1.dfm中只有少数信息,因此使用了frame.dfm中的所有属性,但在form1中编辑后,form1.dfm将具有有关您所做更改的一些信息,因此它们将覆盖原始的frame1属性所以现在您无法期望自动更新。

如果没有任何需要修改form1中的框架(你说你需要修改原来的框架,如果你修改了两者(原文和form1中的框架),那肯定会让你感到困惑。

仅对原始版本进行更改,最终确定您可以对使用框架的表单进行更改。(因为您可能需要在不同情况下使用专用框架)

或者,如果你的帧的所有实例都是相同的,你可以在运行时调用帧

var
myframe  :TFrame ;
begin
  myframe := TFrame2.Create(self)    ;
  //better using a panel as a place holder
  myframe.Parent := Panel1 ;
  myframe.Show ;
 myframe.Left := 0 ;
 myframe.Top := 0 ;

end;