2017-10-12 3 views
2

Ich komme aus this LVCFMT_FIXED_WIDTH Dieser Format-Stil funktioniert, aber nur nach der ersten Spalte. Die ersten Spaltenelemente sind immer beweglich. Warum? Habe ich etwas verpasst?Verkleinern der ersten Spalte in ListCtrl verhindern (ReportView)

for(int i = 0; i<NUM_COLUMNS; i++) 
{ 
    m_ListCtrl.InsertColumn(i,_gszColumnLabel[i], _gnColumnFmt[i] | LVCFMT_FIXED_WIDTH, _gnColumnWidth[i], -1); 
} 

Antwort

3

Die erste Spalte is special aus irgendeinem Grunde:

Wenn eine Spalte mit einem Listenansicht-Steuerelement mit dem Index 0 hinzugefügt wird (die linke Spalte), ist es immer LVCFMT_LEFT. Das Setzen anderer Flags in Spalte 0 überschreibt diese Ausrichtung nicht. Wenn Sie also weiterhin Spalten mit Index 0 einfügen, ist der Text in allen Spalten linksbündig. Wenn die erste Spalte rechtsbündig oder zentriert sein soll, können Sie eine Dummy-Spalte erstellen und dann eine oder mehrere Spalten mit dem Index 1 oder höher einfügen und die gewünschte Ausrichtung angeben. Löschen Sie schließlich die Dummy-Spalte.

Vielleicht funktioniert der Dummy-Spalten-Trick auch in Ihrem Fall?

Verwandte Themen