Eintrag in ListCtrl umbenennen (OnEndlabeleditList1)



  • Hallo!

    Ich habe mich gerade eben hier angemeldet und hoffe dass Ihr alle etwas Geduld
    mit mir habt. Ich habe mir selbst c++ beigebracht und kann es wohl bei weitem nicht so wie Ihr hier im Forum.
    Ich hoffe mal ich kann Euch viele dumme Fragen stellen und Ihr werdet nicht müde es mir zu erklären 🙂

    Hier mein Problem:
    Ich habe ein Listenelement CListCtrl mit einträgen aus einer Datenbank. Wenn man auf die Einträge langsam Doppelklickt kann man diese umbenennen. Jetzt muss ich das, was der Nutzer da eingibt irgendwie in meiner Datenank speichern.
    Ich denke mal dazu ist die Funktion OnEndlabeleditList1.
    Ich habe jetzt folgendes Versucht:

    void CPatient::OnEndlabeleditList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    	LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
    	UpdateData(TRUE);
    
    	CString csTest = pDispInfo->item.pszText;
    
    	*pResult = 0;
    }
    

    Leider kommt in csTest nur was an, wenn ein einziges Zeichen in die Liste eingetragen wurde. Wenn man aber "Hallo Welt!" reinschreibt, steht in csTest gar nix drin.

    Was mache ich denn falsch? Wie kommt man an den Eintrag aus dem Listenelement?

    Liebe Grüße,
    Filou



  • HILFE BITTE! 😞



  • Davon habe ich leider noch keine Ahnung (werde mich erst in einigen Wochen damit beschäftigen müssen).
    Aber schau doch mal auf www.codeproject.com ob du da einen Ansatzpunkt findest. 🙂


  • Mod

    Das UpdateData(TRUE) gehört nicht in diesen Handler!
    Versuch es mal ohne.



  • Oh das war mein Fehler.
    Ich habe die Liste über einen Thread alle 5 Sekunden aktuallisiert.
    Und da lässt sich dann nix editieren. Is ja klar.

    *schäm* 🙄


Anmelden zum Antworten