次の方法で共有


ツリー コントロールイメージリスト

ツリー コントロール (CTreeCtrl) の各項目には、ビットマップイメージのペアを関連付けることができます。 画像は、項目のラベルの左側に表示されます。 項目が選択されている場合は 1 つの画像が表示され、もう 1 つは項目が選択されていない場合に表示されます。 たとえば、アイテムを選択すると開いているフォルダーが表示され、選択されていない場合は閉じたフォルダーが表示される場合があります。

項目イメージを使用するには、 CImageList オブジェクトを作成し、 CImageList::Create 関数を使用して関連するイメージ リストを作成することで、イメージ リストを作成する必要があります。 次に、必要なビットマップをリストに追加し、 SetImageList メンバー関数を使用してリストをツリー コントロールに関連付けます。 既定では、選択した状態と選択されていない状態の両方について、すべての項目がイメージ リストの最初の画像を表示します。 InsertItem メンバー関数を使用してツリー コントロールに項目を追加するときに、選択したイメージと選択されていないイメージのインデックスを指定することで、特定の項目の既定の動作を変更できます。 SetItemImage メンバー関数を使用して、項目を追加した後でインデックスを変更できます。

ツリー コントロールのイメージ リストには、項目イメージに重ね合わせて設計されたオーバーレイ イメージを含めることもできます。 ツリー コントロール項目の状態のビット 8 から 11 の 0 以外の値は、オーバーレイ イメージの 1 から始まるインデックスを指定します (0 はオーバーレイ イメージがないことを示します)。 4 ビットの 1 から始まるインデックスが使用されるため、オーバーレイ イメージはイメージ リスト内の最初の 15 個のイメージの中に含まれている必要があります。 ツリー コントロール項目の状態の詳細については、このトピックの「 ツリー コントロール項目の状態の概要 」を参照してください。

状態イメージ リストが指定されている場合、ツリー コントロールは状態イメージの各項目のアイコンの左側に領域を予約します。 アプリケーションは、チェック ボックスやクリアチェック ボックスなどの状態イメージを使用して、アプリケーション定義の項目の状態を示すことができます。 ビット 12 から 15 の 0 以外の値は、状態イメージの 1 から始まるインデックスを指定します (0 は状態イメージがないことを示します)。

イメージのインデックスの代わりに I_IMAGECALLBACK 値を指定すると、項目が再描画されるまで、選択したイメージまたは選択されていないイメージの指定を遅らせることができます。 I_IMAGECALLBACK は、TVN_GETDISPINFO通知メッセージを送信して、アプリケーションに対してインデックスのクエリを実行するようにツリー コントロール 指示します。

GetImageList メンバー関数は、ツリー コントロールのイメージ リストのハンドルを取得します。 この関数は、一覧に画像を追加する必要がある場合に便利です。 イメージ リストの詳細については、「WINDOWS SDK での CImageListMFC リファレンスでの CImageList、およびイメージ リストの使用」を参照してください。

こちらも参照ください

CTreeCtrl の使用
コントロール