Veröffentlicht 5. März 200421 j folgendes Problem: - ich habe eine mehrspaltige Liste. - die Liste besitzt Zeilen und Spalten. Bisher muß ich bspw. für 5 Zeilen schon am Anfang (also statisch) ein InsertItem machen, und kann dann später die einzelnen Spalten der Zeilen füllen. ungefähr so: int i,j; char AA[10]; m_list.InsertItem(0,"*"); m_list.InsertItem(1,"*"); // hier 1..5, egal passiert kein Unterschied. m_list.InsertItem(2,"*"); m_list.InsertItem(3,"*"); m_list.InsertItem(4,"*"); m_list.InsertItem(5,"*"); for(i=0;i<6;i++) { for(j=0;j<6;j++) { sprintf(AA,"%i %i",i,j); m_list.SetItemText(i,j,AA); }; }; Dann kommt raus: "10" "11" "12" "13" "14" "15" "20" "21" "22" "23" "24" "25" .... .... Aber wenn ich es versuche mehr oder weniger dynamisch zumachen, also: int i,j; char AA[10]; for(i=0;i<6;i++) { m_list.InsertItem(i,"*"); // ob hier i oder 0 ist egal, kein Unterschied for(j=0;j<6;j++) { sprintf(AA,"%i %i",i,j); m_list.SetItemText(i,j,AA); }; }; wird nur in der letzten Zeile meine Eintragung angezeigt: "*" "" "" "" "" "" "*" "" "" "" "" "" "*" "" "" "" "" "" "*" "" "" "" "" "" "*" "" "" "" "" "" "50" "51" "52" "53" "54" "55"
5. März 200421 j Mir ist gerade eingefallen, wenn ich "m_list.SetItemText(i,j,AA);" in "m_list.SetItemText(0,j,AA);" verändere gehts. Aber dann Elemente oben angehangen, was muß ich machen um die Elemente unten anzuhängen?
5. März 200421 j Bei mir funktioniert dein ursprünglicher Code. Du könntest dir mal die Rückgabewerte von InsertItem ansehen, da steht nämlich jeweils der Index des eingefügt Items drin.
5. März 200421 j Bei Variante1 wo die InsertItems vor der Schleife stehen und bei Variante2 wo InsertItems in der äußeren Schleife stehen, bekomme ich als Ergebnis immer 0, ob nun InsertItems(0,...) oder IsertItems(i,...), und bei SetItemText immer true(1). ---- nach Änderung: so Problem gelöst! War wieder ein Fehler in der Einstellung der Liste: Hatte Aufsteigend attstatts Absteigend gewählt.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.