Festlegen der Bilder für ein einzelnes Element

Die verschiedenen Typen von Bildern, die durch das erweiterte Kombinationsfeld " - Element verwendet werden, werden nach den Werten in iImage, in iSelectedImage und iOverlay-Member der COMBOBOXEXITEM-Struktur bestimmt.Jeder Wert ist der Index eines Bildes in der Bildliste zugeordneten des Steuerelements.Standardmäßig werden diese Member auf 0 festgelegt und kein Bild dazu führen, dass das Steuerelement, für das Element angezeigt werden soll.Wenn Sie Bilder für ein bestimmtes Element verwenden möchten, können Sie die Struktur, eine entsprechend ändern, wenn Sie das Kombinationsfeld oder Element einfügen, indem Sie ein vorhandenes Element im Kombinationsfeld ändern.

Das Bild für ein neues Element festlegen

Wenn Sie ein neues Element eingefügt haben, initialisieren Sie iImage, iSelectedImage und iOverlay-Strukturmember mit den richtigen Werten und fügen Sie dann das Element mit einem Aufruf von CComboBoxEx::InsertItem ein.

Im folgenden Beispiel wird ein neues Element im Kombinationsfeld Erweitert (cbi) in das Dialogfeld Erweiterte Kombinationsfeld-Steuerelement ()m_comboEx Indizes und gibt ein Bild für alle drei Bedingungen an:

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);

Das Bild für ein vorhandenes Element festlegen

Wenn Sie ein vorhandenes Element ändern, müssen Sie mit dem mask-Member einer COMBOBOXEXITEM-Struktur arbeiten.

So ändern Sie ein vorhandenes Element zu verwenden, um Bilder

  1. Deklarieren Sie eine COMBOBOXEXITEM-Struktur und legen Sie den mask Datenmember auf Werte fest, die von Interesse sind, zu ändern.

  2. Mithilfe dieser Struktur können Sie CComboBoxEx::GetItem einen Aufruf.

  3. Ändern Sie mask, iImage und iSelectedImage-Member der neu zurückgegebene Struktur unter Verwendung der entsprechenden Werte.

  4. Führen Sie CComboBoxEx::SetItem einen Aufruf und die geänderte Struktur übergeben.

Das folgende Beispiel veranschaulicht diesen Vorgang, indem sie die ausgewählten bzw. nicht ausgewählten Bilds des dritten erweiterten Kombinationsfeld Elements auslagert:

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));

Siehe auch

Referenz

Verwenden von CComboBoxEx

Konzepte

Steuerelemente (MFC)