次の方法で共有


各項目のイメージの設定

拡張コンボ ボックスの項目に使用するイメージの異なる型は COMBOBOXEXITEM の構造体の iImageiSelectedImageiOverlay のメンバーの値によって決まります。各値は、コントロールに関連付けられたイメージ リストのイメージのインデックスです。既定では、これらのメンバーは 0 に設定され、項目のイメージを表示するコントロールを指定します。特定の項目にイメージを使用する場合は、コンボ ボックスの項目をまたは既存のコンボ ボックスの項目の変更によって挿入すると構造体、またはを適宜変更できます。

新しい項目のイメージの設定

新しい項目を挿入する場合は、適切な値の iImageiSelectedImageiOverlay の構造体メンバーを初期化し、 CComboBoxEx::InsertItemに呼び出しを持つ項目を挿入します。

次の例では、すべての 3 種類のイメージの状態のインデックスを指定する拡張コンボ ボックス コントロール ()m_comboExに新しい拡張コンボ ボックスの項目 (cbi)を挿入します:

COMBOBOXEXITEM     cbi = {0};
CString            str;
int                nItem;

cbi.mask = CBEIF_IMAGE | CBEIF_INDENT | CBEIF_OVERLAY |
    CBEIF_SELECTEDIMAGE | CBEIF_TEXT;

cbi.iItem = 0;
cbi.pszText = _T("Item 0");
cbi.iImage = 0;
cbi.iSelectedImage = 1;
cbi.iOverlay = 2;
cbi.iIndent = (0 & 0x03);   //Set indentation according
                     //to item position

nItem = m_ComboBoxEx.InsertItem(&cbi);
ASSERT(nItem == 0);

既存の項目のイメージの設定

既存の項目を変更すると、 COMBOBOXEXITEM の構造体の mask のメンバーで動作する必要があります。

既存の項目をイメージを使用するように変更するには

  1. COMBOBOXEXITEM の構造体を宣言し、使用し、変更対象となる値に mask のデータ メンバーを設定します。

  2. この構造を使用して、 CComboBoxEx::GetItemに呼び出しを作成します。

  3. 適切な値を使用して最近返された構造体の maskiImageiSelectedImage のメンバーを変更します。

  4. 変更された構造体を渡す CComboBoxEx::SetItemに呼び出しを作成します。

次の例は、 3 番目の拡張されたコンボ ボックスの項目の選択および選択解除にされたイメージをスワップに、この手順が使用されます:

COMBOBOXEXITEM     cbi = {0};
int                iImageTemp;

cbi.mask = CBEIF_IMAGE | CBEIF_SELECTEDIMAGE;
cbi.iItem = 0;
m_ComboBoxEx.GetItem(&cbi);

iImageTemp = cbi.iImage;
cbi.iImage = cbi.iSelectedImage;
cbi.iSelectedImage = iImageTemp;
VERIFY(m_ComboBoxEx.SetItem(&cbi));

参照

関連項目

CComboBoxEx の使い方

概念

コントロール (MFC)