Text aus der Editbox in Listbox ?



  • Hallo,
    ich beschäftige mich jetzt seid knapp einer Woche mit WinAPI!
    Also noch recht neu auf dem Gebiet!

    Ich habe jetzt ein Edit Feld erstellt, einen Button und eine Listbox.

    Jetzt möchste ich das der Text aus dem Edit Feld nach dem Button klick in die
    Listbox eingetragen wird!

    Hat jemand eventuell ein beispiel wo ich mir sowas mal anschauen kann ?

    Wäre super!

    Danke schonmal!

    Gruß Roxxer 🙂



  • Also. Guck mal in die MSDN ...

    1. WM_COMMAND abfangen (wenn dein Button geklickt wurde)
    2. Dort dann den Text mit GetWindowText odg. vom Edit Control holen (http://msdn2.microsoft.com/en-us/library/ms672062.aspx)
    3. Den Text (den du nun in einem Buffer hast) in die List Box packen ... (http://msdn2.microsoft.com/en-gb/library/ms671395.aspx)



  • Danke dir 🙂



  • Ich komm da doch noch nicht so ganz klar 😞

    Ich habe bis jetzt ->

    case BN_CLICKED:
                        char text[1024];
    
                            switch(LOWORD(wParam))
                                {
                                    case but1:
                                        GetDlgItemText(Text,ed1,text,sizeof(1024));
                                    break;
    

    das sagt die msdn->

    SendMessage(listbox,(UINT) LB_ADDSTRING,(WPARAM) wParam,(LPARAM) lParam);
    

    jetzt weis ich aber nicht was ich hier :

    (listbox,(UINT) LB_ADDSTRING,(WPARAM) wParam,(LPARAM) lParam);
    

    eingeben soll das er mir den text ausm buffer auch in die listbox setzt 😞

    kann jemand ein beispiel posten ? wäre echt dankbar!

    Gruß



  • Hi,

    Text: EditBox ➡ ListBox, Beispielcode

    /*
    Definitionen:
    hebxSrc sei der Handle des EditBox-Controls,
    hlbxDest sei der Handle des ListBox-Controls.
    */
    UINT uiTextLength = static_cast<UINT>(SendMessage(hebxSrc, WM_GETTEXTLENGTH, 0, 0L));
    if(!uiTextLength)
       // Fehler...
    PTCHAR pszEditText = new TCHAR[uiTextLength + 1];
    SendMessage(hebxSrc, WM_GETTEXT, uiTextLength + 1, reinterpret_cast<LPARAM>(pszEditText));
    // In pszEditText steht nun der Text aus dem EditBox-Control, welcher im Folgenden der ListBox hinzugefügt wird:
    SendMessage(hlbxDest, LB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszEditText));
    delete [] pszEditText;
    


  • Vielen Dank, CodeFinder!
    Klasse beispiel 🙂


Log in to reply