2

私の質問を手伝ってください。

TreeView と Frames があります。TreeView の項目をクリックすると、どうすればそれらを移動できますか?

Frames または Frames fit の代わりに PageControl (PageControl1.Pages[i].TabVisible := false;) を使用する方が良いですか?

どうもありがとうございました!

4

1 に答える 1

4

「TreeView を使用する方法は?」という最初の質問に答えるには、次のようにします。: TreeView の OnChange イベントを実装します。node パラメータは、新しく選択された項目を参照します。

2 番目の質問「Frames と PageControl のどちらを使用する必要がありますか?」について : まあ、一方が他方を排除するわけではなく、両方を完全に使用できます。確かに、そのような TabPage のコンテンツを複数回使用する場合は、そうするようお勧めします。そのような場合は、フレームをAlign = alClientTabPage に配置します。

フレームは、任意の再利用可能なコンテナーを設計するのに役立ちます。たとえば、PageControl のすべての Page で同じ FrameType を設定できます。これらはすべて同じように見えますが、それぞれが異なるデータで動作すると仮定します。

フレームを使用するもう 1 つの小さな利点は、TabPages のすべてのコントロールについて混乱しないことです。

ただし、すべての TabPage がビジュアル スタイルまたはコントロール レイアウトに関して一意である場合は、フレームを使用せずに PageControl でページを直接設計してもまったく問題ありません。

そして、シフト部分について:タブの可視性を設定することで何を達成したいのか正確にはわかりませんが、ノードに基づいて(完全に実装に依存して)別のページにシフトすることは次のように簡単です:

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  PageControl1.ActivePageIndex := Node.Index;
end;
于 2011-06-03T18:57:01.717 に答える