0

新しい VCL アプリケーションを作成し、次のコントロールをこの順序でフォームに配置しました。

  1. メインメニュー
  2. ツールバー
  3. ステータスバー

コントロールは、フォームに追加した順序で 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 内にこれを行うためのオプションはありますか?

4

1 に答える 1

1

質問へのコメントで述べたように、標準IDEにはそのようなメカニズムはなく、そのようなメカニズム(または結果)の有用性は疑わしく、せいぜい制限されています。

しかし、この分野で何らかの順序/組織が絶対に必要であり、これらの宣言を手動で調整する必要がない場合は、順序/組織を維持するために必要に応じて、GExperts の「ソース行の並べ替え」エディター ツールを定期的に使用するだけです。あなたが望むグループ化。

並べ替えたい宣言を選択し、好みに応じて昇順または降順で並べ替えます。

すべてのコンポーネントに一貫した名前を付けている限り、コンポーネントの命名規則で具現化された並べ替え順序によってそれを強制する限り、これにより、必要な「グループ化」が得られます。たとえば、すべてのメニュー項目は「mi...」で始まり、すべてのファイルメニュー項目は「miFile...」で始まります。

ただし、結果の順序を決定するために、名前に翻弄されます。たとえば、架空のファイルメニュー項目のセットは次のようになります。

miFileExit
miFileNew
miFileOpen
miFilePrint
miFileSave
miFileSeparator1
miFileSeparator2

これは、メニュー自体に表示される順序ではないことはほぼ確実です。しかし、なぜこれが重要なのかは明らかではなく、宣言の場所を容易にする方法として、永続化されたフォーム コンポーネントの宣言順序のコピーを頭の中に持っていない人間にとって、アルファ ソートが最も役立つ可能性があります。

于 2014-12-23T01:56:29.457 に答える