CListCtrl第一列不能居中的问题 -- 雨切星&贝壳里的海 -- 编程爱好者博客

来源:百度文库 编辑:神马文学网 时间:2024/05/03 12:17:48


把CListCtrl设置为report风格,但是插入第一列的时候(InsertColumn)的时候会发现文字不能居中,即使使用了LVCFMT_CENTER,但是其他列都可以正常居中。
解决方案:
(1)巧妙解决:插入第一列时宽度设置为0,弃之不用。但是这样有问题,凡是与第一列相关的一些设置将发挥不了作用,例如checkbox和icon。
(2)插入第一列后,改变它的参数:
LVCOLUMN   lvc;
lvc.mask   =LVCF_FMT;
m_ctrList.GetColumn(0,&lvc);   
lvc.fmt&=~LVCFMT_JUSTIFYMASK;   
lvc.fmt|=LVCFMT_CENTER;
m_ctrList.SetColumn(0,&lvc); 

(3)插入第一列后,将其删除,第二列此时会充当第一列,已经居中了。。。