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
Deklarovat COMBOBOXEXITEM strukturu a nastavte masky datový člen na hodnoty vás zajímá úprava.
Použití této struktury se dovolat do CComboBoxEx::GetItem.
Změnit masky, iImage, a iSelectedImage členy nově vrácené struktury pomocí příslušné hodnoty.
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