ツリー コントロール (CTreeCtrl) の一般的な使用方法は、次のパターンに従います。
コントロールが作成されます。 コントロールがダイアログ ボックス テンプレートで指定されている場合、または
CTreeView
を使用している場合は、ダイアログ ボックスまたはビューの作成時に自動的に作成されます。 ツリー コントロールを他のウィンドウの子ウィンドウとして作成する場合は、 Create メンバー関数を使用します。ツリー コントロールでイメージを使用する場合は、SetImageList を呼び出してイメージ リスト を設定します。 SetIndent を呼び出してインデントを変更することもできます。 これを行うには、 OnInitDialog (ダイアログ ボックスのコントロールの場合) または OnInitialUpdate (ビューの場合) を使用することをお勧めします。
CTreeCtrl
の InsertItem 関数をデータ項目ごとに 1 回呼び出して、コントロールにデータを配置します。InsertItem
は、子項目の追加時など、後で参照するために使用できる項目へのハンドルを返します。 データを初期化するには、OnInitDialog
(ダイアログ ボックス内のコントロールの場合) またはOnInitialUpdate
(ビューの場合) を使用することをお勧めします。ユーザーがコントロールを操作すると、さまざまな通知メッセージが送信されます。 コントロール ウィンドウのメッセージ マップに ON_NOTIFY_REFLECT マクロを追加するか、親ウィンドウのメッセージ マップに ON_NOTIFY マクロを追加することで、処理する各メッセージを処理する関数を指定できます。 可能な通知の一覧については、このトピックで後述する 「ツリー コントロール通知メッセージ 」を参照してください。
さまざまな Set メンバー関数を呼び出して、コントロールの値を設定します。 行うことができる変更には、インデントの設定や、アイテムに関連付けられているテキスト、画像、またはデータの変更が含まれます。
さまざまな Get 関数を使用して、コントロールの内容を調べます。 また、指定した項目の親、子、および兄弟へのハンドルを取得できる関数を使用して、ツリー コントロールの内容を走査することもできます。 特定のノードの子を並べ替えることもできます。
コントロールの操作が完了したら、コントロールが適切に破棄されていることを確認します。 ツリー コントロールがダイアログ ボックス内にある場合、またはビューの場合、そのコントロールと
CTreeCtrl
オブジェクトは自動的に破棄されます。 そうでない場合は、コントロールとCTreeCtrl
オブジェクトの両方が適切に破棄されるようにする必要があります。