Hilfe, Problem mit der ListBox!



  • tagchen!

    also ich lasse Daten über einen button in eine ListBox reinschreiben.

    void CTESTLISTDlg::ListenEintrag(CString s_text){
    
    CListBox * liste = (CListBox*) GetDlgItem(IDC_LNACHRICHTEN);
    liste->AddString(s_text);
    
    }
    
    void CTESTLISTDlg::OnHinzu() 
    {
    ListenEintrag("TEST");
    // ist nur für Testzwecke
    //Hier werden später die Daten aus der DB stehen
    }
    

    Nun würde ich gern, wenn man in der Listbox einen Eintrag anklickt, das dieser gelöscht wird. Wie mache ich das?? Hatte an sowas wie OnFocus() oder so gedacht, aber ich komme auf keinen grünen zweig. Habe zwar herausgefunden, wie man den gesamten Inhalt der Listbox löscht aber nicht wie man einzelne Einträge entfernt!
    Ich hoffe ihr könnt mir helfen und beDANKE mich schonmal!
    THX cu Bart



  • Aus der MSDN:

    Löschen eines Eintrags über DeleteString:

    // The pointer to my list box.
    extern CListBox* pmyListBox;
    
    // Delete every other item from the list box.
    for (int i=0;i < pmyListBox->GetCount();i++)
    {
       pmyListBox->DeleteString( i );
    }
    

    Du könntest den Index über pmylistBox->GetCurSel() holen.
    Und das Event das du abfangen musst ist, da ich einen Doppelclick
    bevorzuge:
    ON_LBN_DBLCLK ansonsten bei Click oder mit Cusor-Taste ON_LBN_SELCHANGE.
    Einfach mal den Klassen-Assi anwerfen.



  • tagchen!
    thx habs hinbekommen, wie du gesagt hast!
    cu bart


Anmelden zum Antworten