Sdílet prostřednictvím


Nastavení obrázků pro jednotlivé položky

Hodnoty jsou určeny různé typy obrazy používané položky pole se seznamem rozšířené iImage, iSelectedImage, a iOverlay členy COMBOBOXEXITEM struktury.Každá hodnota je index obrázku v seznamu obrázek přidružený ovládací prvek.Tyto členy jsou standardně na 0, způsobuje ovládací prvek zobrazí žádný obrázek zboží.Pokud chcete použít obrázky pro určitou položku, můžete upravit strukturu podle toho při vkládání položky pole se seznamem nebo úpravou existující položky pole se seznamem.

Nastavení obrazu pro novou položku

Inicializace při vkládání nového zboží iImage, iSelectedImage, a iOverlay struktury členů s správné hodnoty a potom vložit položku pomocí volání CComboBoxEx::InsertItem.

Následující příklad vloží novou položku pole se seznamem rozšířené (cbi) do ovládacího prvku pole se seznamem rozšířené (m_comboEx), poskytující indexy pro všechny tři státy obrazu:

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

Nastavení obrazu pro existující položky

Chcete-li změnit existující položky, je nutné pracovat s masky členem COMBOBOXEXITEM struktury.

Chcete-li upravit existující položku, kterou chcete použít obrázky

  1. Deklarovat COMBOBOXEXITEM strukturu a nastavte masky datový člen na hodnoty vás zajímá úprava.

  2. Použití této struktury se dovolat do CComboBoxEx::GetItem.

  3. Změnit masky, iImage, a iSelectedImage členy nově vrácené struktury pomocí příslušné hodnoty.

  4. Volat na CComboBoxEx::SetItem, předejte změněné struktury.

Následující příklad demonstruje tuto proceduru, záměna obrázky vybrané i nevybrané položky třetí pole se seznamem rozšířené:

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

Viz také

Referenční dokumentace

Používání atributu CComboBoxEx

Koncepty

Ovládací prvky (MFC)