Auslesen des markierten Elementes aus einer Liste



  • Hallo,

    Ich glaube zwar das das schon ein paar Leute vor mir gefragt haben, aber wie liest man den Text aus einer Liste aus. Der Text des markierten Elementes soll ausgelesen und in einer MessageBox ausgeben werden.

    Ich habe mir das etwa so vorgestellt

    TCHAR xy;
    xy = SendMessage(hList, LB_GETCURSEL, 0, 0);
    MessageBox(NULL, xy, "Titel", MB_ICONINFORMATION);

    Da ich nach anderen Lösungen in Forum gesucht habe und die nicht so ganz verstenden habe, bitte ich darum immer den kompletten Code zu berichtigen.



  • LB_GETTEXT ist dein Freund. Vorher legst du einen Buffer an der groß genug sein sollte für den längsten String. Diesen Buffer übergibst du als LPARAM. Danach kannst du ihn der MessageBox übergeben.

    Und außerdem: Was soll die Sache mit TCHAR? LB_GETCURSEL gibt den Index des Items zurück das gerade selektiert ist (oder -1 wenn nichts selektiert ist). Ein Index hat gewöhnlicherweise den Datentyp int und nicht TCHAR.



  • Könnte jemmand einfach mal einen den Code oben berichtigen, ich kenne diese Nachrichten ja, es funzt aber nicht.



  • Ich habe den Fehler gefunden, war ein ganz blöder Fehler. Habe das Handle der Listbox verändert.


Anmelden zum Antworten