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