CListCtrl mit Einträgen füllen



  • Hallo,
    ich möchte ein CListCtrl füllen. Hab auch schon im Internet nach Beispielen gesucht, allerdings helfen die mir nicht.
    Ich Möchte zwei Spalten erstellen, die eine Buch und die andere Mitarbeiter:

    m_Listenfeld.InsertColumn(0,"Buch",LVCFMT_LEFT,30,0);
    m_Listenfeld.InsertColumn(1,"Mitarbeiter",LVCFMT_CENTER,60,1);
    

    das habe ich so gelöst, denke eigentlih das das stimmen müsste.
    Ich habe jetzt einen CString (message) mit Büchern und Mitarbeiter die durch ein Semikolon getrennt sind (Kinderbuch;Hans;Lesebuch;Franz....)
    Diese Trenne ich das ist kein Problem.
    Nun möchte ich es so ausgeben das in der Spalte Buch das "Kinderbuch" steht und rechts daneben in Spalte Mitarbeiter "Hans" steht und dann in der nächste Zeile "Lesebuch" und rechts daneben wieder "Franz", usw.
    Habe es so versucht:

    m_Listenfeld.InsertItem(i,message,0);
    i++;
    

    Jetzt steht aber alles untereinander, kann mir bitte jemand helfen.

    Gruß Gabele



  • InsertItem gib einen Index zurück. Den merkst du dir in einer int-Variablen. Diese übergibst du SetItemText (gehört auch zu CListCtrl) als ersten Parameter, dann den Index der Spalte und als dritten Parameter deinen Text.



  • und wie bekomme ich den Rückgabewert von InserItem?
    etwa so:

    rueck=m_Listenfeld.InsertItem(0,messageE,0);
    

    ´

    Welches ist denn der Index der Spalte? in:

    m_Listenfeld.InsertColumn(0,"Buch",LVCFMT_LEFT,30,0);
    

    Danke für die Hilfe!



  • Mmhh, ja, fast. Ungetestet:

    int rueck=m_Listenfeld.InsertItem(i,message,0);
    i++;
    m_Listenfeld.SetItemText(rueck, 1, "deine Mudda");
    m_Listenfeld.SetItemText(rueck, 2, "was guckst du");
    


  • Ah ok, vielen dank!
    Hab´s jetzt nach einigem rumprobieren geschaft!


Anmelden zum Antworten