2017-10-12 41 views
2

私はから来たthis LVCFMT_FIXED_WIDTH この書式スタイルは機能しますが、最初の列の後にのみ動作します。最初の項目は常に移動可能です。どうして?私は何かを欠いているのですか?ListCtrl(ReportView)の最初の列のサイズ変更を防止する

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

答えて

3

何らかの理由で最初の列is special

列がインデックス0(左端)とリストビューコントロールに追加されている場合、それは常にLVCFMT_LEFTあります。列0に他のフラグを設定しても、その配置は上書きされません。したがって、インデックス0の列を挿入し続けると、すべての列のテキストが左揃えになります。最初の列を右揃えまたは中央揃えにしたい場合は、ダミー列を作成し、インデックス1以上の列を1つ以上挿入し、必要な配置を指定します。最後に、ダミー列を削除します。

おそらくダミーの列のトリックもあなたのケースでうまくいくでしょうか?

関連する問題