Icon in Combobox
-
hallo zusammen.
weiss jemand zufällig, wie man ein Icon links neben den einträgen in eine
Combobox einfügen kann?
die über die suche gefundenen themen waren nich so aufschlussreich für mich.
Danke!
-
Hallo,
verwende die MFC-Klasse CComboboxEx:

MfG
-
Hallo zusammen!
Also ich hab jetzt ne CComboboxEx erstellt, aber es funktioniert noch nicht so
richtig mit elementen + icons hinzufügen.damit ihr wisst, wie es ausschaut erstmal die eigenschaften:
ID: IDC_COMBOEVENT
Format: Dropdown
Member: (CComboBoxEx) m_combobox
zu verwendendes Icon: IDI_ALLweiss jemand wie ich da jetzt nen Eintrag + Icon einfügen kann?
Optional ginge das auch über ne ImageList:
(CImageList) imagelist_comboich hatte es damit schonmal versucht und die List so vorbereitet:
imagelist_combo.Create(16, 16, ILC_COLOR32, 2, 2); imagelist_combo.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ALL))); m_combobox.SetImageList(&imagelist_combo);bitte, bitte, kann mir da vielleicht jemand helfen?
-
Kennt sich denn da kein Mensch aus??

-
Hallo, da keiner geantwortet hat, gehe ich davon aus, dass es nur wenige Leute
hier wissen wie das geht. ich hab jetzt die Lösung gefunden. Wenn es jemand
auch mal brauchen sollte, hier der Code:
deineimagelist.Create(16, 16, ILC_COLOR32, 6, 6); //0 -> Shutdown deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1))); //1 -> Standby deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON2))); //2 -> Restart deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON3))); //3 -> LogOff deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON4))); //4 -> Switch User deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON5))); //5 -> Custom ausführen deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON6))); //6 -> Notiz deineimagelist.Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON7))); m_deinecombobox.SetImageList(&deineimagelist); COMBOBOXEXITEM cbi; CString str[]={"Shutdown","Standby","Restart","LogOff","Switch User","Custom ausführen","Notiz"}; int nItem; cbi.mask = CBEIF_IMAGE | CBEIF_INDENT | CBEIF_OVERLAY | CBEIF_SELECTEDIMAGE | CBEIF_TEXT; for (int i=0; i<7; i++) { cbi.iItem = i; str[i].Format(_T(str[i])); cbi.pszText = (LPTSTR)(LPCTSTR)str[i]; cbi.cchTextMax = str[i].GetLength(); cbi.iImage = i; cbi.iSelectedImage = i; cbi.iOverlay = 2; cbi.iIndent = (i & 0x00); //Einrückung entsprechend der Elementposition setzen nItem = m_deinecombobox.InsertItem(&cbi); ASSERT(nItem == i); }PS: Das oben sollte nicht anmassend klingen, meine es ja nur gut
