WinAPI Combobox ausgewählter Text
-
Hallo Leute,ich bins nochmal.Ich hab hier jetzt ein paar Comboboxen in einem Programm und möchte jetzt wissen welcher Text/Zeile gerade ausgewählt ist.
Die Comboboxen hab ich mit CreateWindow() erstellt,also nichts mit Resource.
Falls das jemand weiß,whre es nett es hier zu posten.Danke:D
-
Indem du die Nachricht CB_GETCURSEL an die Handles der Comboboxen schickst.
Um an den Text zu kommen, sind zwei Nachrichten notwendig: erst mit CB_GETLBTEXTLEN die Länge herausfinden, einen Buffer in der notwendigen Größe bereitstellen und mit CB_GETLBTEXT den Text holen.
Das ganze kannst du natürlich auch in eine eigene Funktion packen.
-
Danke ich probier es aus
-
Wenn du in C++ programmierst:
std::basic_string<TCHAR> GetCurCBText(HWND cb) { size_t index = SendMessage(cb, CB_GETCURSEL, 0, 0); if(index!=CB_ERR) { size_t len = SendMessage(cb, CB_GETLBTEXTLEN, index, 0); if(len) { std::vector<TCHAR> v(len+1); SendMessage(cb, CB_GETLBTEXT, index, reinterpret_cast<LPARAM>(&v[0])); return &v[0]; } } return TEXT(""); }
-
Vielen Dank.
Kann man irgendwie rausfinden welche nummer dieser name von der box aus hat??
-
Klar, genau das liefert CB_GETCURSEL.