Delphi中是否有一个选项可以使Form控件保持与DFM相同的顺序?

时间:2014-12-23 01:29:11

标签: delphi ide dfm

我刚刚创建了一个新的VCL应用程序,并按以下顺序在表单上放置了以下控件:

  1. 的MainMenu
  2. 工具条
  3. 状态条
  4. 控件按照我将它们添加到表单的顺序显示在TForm类中。当我将TForm类与DFM进行比较时,控件的顺序不同。

    类别:

    type
      TForm5 = class(TForm)
        MainMenu1: TMainMenu;
        ToolBar1: TToolBar;
        StatusBar1: TStatusBar;
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    

    DFM(为了说明目的而移除了属性)

    object Form5: TForm5
      object ToolBar1: TToolBar
      end
      object StatusBar1: TStatusBar
      end
      object MainMenu1: TMainMenu
      end
    end
    

    我想在类定义中对控件进行排序,以便它们与DFM文件匹配。 IDE中是否有选项可以执行此操作?

1 个答案:

答案 0 :(得分:1)

正如对问题的评论中所指出的那样,标准IDE中没有这样的机制,任何此类机制(或结果)的效用都是可疑的,并且是最好的。

但是如果你绝对必须在这个领域有某种秩序/组织,并且不希望手动安排这些声明,那么我会根据需要定期使用GExperts“排序源代码行”编辑器工具来维护你想要的订单/分组。

选择您要排序的声明,并根据偏好进行升序或降序排序。

只要您一直命名所有组件,只要您按照组件命名约定中包含的排序顺序强制执行,就可以为您提供所需的任何“分组”。例如所有菜单项开始“ mi ... ”,所有文件菜单项,然后以“ miFile ... ”等开始。

但是,您可以根据自己的名字来确定最终的订单。例如,一组假设的文件菜单项最终将显示为:

miFileExit
miFileNew
miFileOpen
miFilePrint
miFileSave
miFileSeparator1
miFileSeparator2

几乎可以肯定它们在菜单中出现的顺序。但是为什么这很重要并不清楚,作为一种促进声明位置的方法,alpha排序最有可能对那些没有持久表单组件声明顺序副本的人有用。