Zeichenkette in Combobox schon vorhanden?!
-
Hallo ich wollte mal fragen, ob es mit Win32 API eine Möglichkeit gibt, die Einträge in einer Combobox auf doppelte Einträge zu überprüfen oder ob man sich dazu selber eine Funktion schreiben muss. Wenn man selber eine Funktion schreiben muss, wie würde diese aussehen?!?!
-
fluxy schrieb:
Hallo ich wollte mal fragen, ob es mit Win32 API eine Möglichkeit gibt, die Einträge in einer Combobox auf doppelte Einträge zu überprüfen oder ob man sich dazu selber eine Funktion schreiben muss.
glaub nicht, musst du schon selber schreiben, so ungefähr.
// ungetestet alles unwichtige kannst du ja weglassen void ComboBoxAddItem(HWND hwndComboBox, const char *pText, void *pData, bool bSelect) { if(SendMessage(hwndComboBox, CB_FINDSTRING, -1, (LPARAM)pText) != CB_ERR) return; WPARAM nIdx = (WPARAM)((int)SendMessage( hwndComboBox, CB_ADDSTRING, 0, (LPARAM)pText)); if(pData) SendMessage(hwndComboBox, CB_SETITEMDATA, nIdx, (LPARAM)pData); if(bSelect) SendMessage(hwndComboBox, CB_SETCURSEL, (WPARAM)nIdx, 0); }
-
hmmm cool ich wusste nicht von der CB_FINDSTRING Nachricht, damit wird natürlich alles viel viel einfacher. Aber mal ne andere Frage: was macht diese CB_SETITEMDATA und CB_GETITEMDATA message?
-
zusatzangaben zum combobox item, siehe
http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/comboboxes/specialcomboboxfeatures.asp?frame=true#data_list_items