List Control Steuerelement

Hallo,

wie kann man denn bei einem ListCtrl, Spaltenbezeichnungen auslesen?
Habe es mit GetColoum versucht aber in der Strukturvariable pztext steht dann nichts. Ungültiger Pointer.
 
Vielleicht könntest Du mir auch weiterhelfen.


Spalte einfügen
----------------------

Verwende ich

Code:
m_lstLogFiles.InsertColumn(0,"Logfile",LVCFMT_LEFT,70);

bekomme ich die Fehlermeldung
"Konvertierung des Parameters 2 von 'const char [8]' in 'LPCTSTR' nicht möglich"

Ändere ich den Code ab in

Code:
m_lstLogFiles.InsertColumn(0,(LPCTSTR)"Logfile",LVCFMT_LEFT,70);

wird zwar eine Spalte erstellt, der Spaltenname besteht aber nur aus Sonderzeichen.


Item einfügen
-------------------

Bei Items habe ich mit

Code:
int iItem = m_lstLogFiles.InsertItem( "Wullewatz" );

ebenfalls keine Chance. Ergibt die Fehlermeldung:
"Konvertierung des Parameters 1 von 'const char [10]' in 'const LVITEMW *' nicht möglich"

Der Typ LVITEMW* ist mir allerdings nicht bekannt.
 
Das liegt wohl daran, dass dein Projekt UNICODE verwendet. Die Texte müssen daher entprechend konvertiert werden. Das erledigt das "_T"-Makro. Schreibe daher:
C++:
m_lstLogFiles.InsertColumn(0,_T("Logfile"),LVCFMT_LEFT,70);

LVITEM ist keine Zeichenkette sondern eine Struktur, die du anlegen und befüllen must. Schaue dazu mal in die Referenz zum ListControl (MSDN). LVITEMW ist die UNICODE-Variante.

Gruß
MCoder
 
Zuletzt bearbeitet:
Danke Schön,
das war des Rätzels Lösung...

Dann noch eine Frage zu dem ListControl...

Konnte man dort nicht auch statt Text ein Bild oder Symbol, oder eine Checkbox einfügen?

Wenn ja, wie?

Gruß,
WilliamSpiderWeb
 
Für Bilder bzw. Symbole musst eine ImageList mit den gewünschten Bildchen anlegen und diese dem ListControl zuweisen ( SetImageList(...) ). Beim Einfügen eines Items kannst du dann einen Index aus dieser ImageList angeben, welcher das gewünschte Bildchen enthält.

Checkboxen sind so ohne weiteres nicht möglich, da ist etwas mehr Aufwand nötig.

Gruß
MCoder
 
Zurück