PanicMan Geschrieben 8. April 2002 Geschrieben 8. April 2002 Hallo! Ich habe eine CListCtrl in meinem Dialog. Die membercontrolvariable heißt m_Liste. wenn ich jetzt mit m_Liste.InsertColumn(0,"TEXT",LVCFMT_LEFT,30,-1); mehrere Spalten erstelle, ist alles OK. Sobald ich aber mit m_Liste.InsertItem(0,"erstes Item",0); m_Liste.SetItemText(0,1,"erstes item 2 Spalte"); was in die Liste einfügen will, kriege ich ein Debug Assertion Failed! Error, aber nicht auf den Insert-Zeilen, sondern in der WinCtrl2.cpp, Linie 547. Dort steht folgendes : void CListCtrl: :DrawItem(LPDRAWITEMSTRUCT) { ASSERT(FALSE); //Hier bleibt er stehen } Wo ist das Problem? Muss ich irgendwie speicher reservieren oder sowas?? THX
Klotzkopp Geschrieben 8. April 2002 Geschrieben 8. April 2002 Es gibt eine Beziehung zwischen dem letzten Parameter von InsertColumn und dem zweiten von SetItemText. Wenn Du die Spalte nicht mit einem SubItem verknüpfst, dann kannst Du auch keinen SubItem-Text setzen.
PanicMan Geschrieben 8. April 2002 Autor Geschrieben 8. April 2002 Und wie muß ich es dann machen? irgendein beißpiel?
Klotzkopp Geschrieben 8. April 2002 Geschrieben 8. April 2002 Gib als letzten Parameter bei InsertColumn eben nicht -1 an, sondern nacheinander 0, 1, 2 usw.
PanicMan Geschrieben 9. April 2002 Autor Geschrieben 9. April 2002 Super, das war das richtige, danke!! Nur habe ich jetzt ein problem, das er nur die erste spalte markiert, wenn ich einen eintrag selektiere... wie mache ich, das er die ganze zeile markiert?
Klotzkopp Geschrieben 9. April 2002 Geschrieben 9. April 2002 m_Liste.SetExtendedStyle( m_Liste.GetExtendedStyle() | LVS_EX_FULLROWSELECT );
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden