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