2017-10-12 76 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或更高的一列或多列,并指定所需的对齐方式。最后删除虚拟列。

也许虚拟专栏技巧也适用于你的情况?