把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);
lvc.mask =LVCF_FMT;
m_ctrList.GetColumn(0,&lvc);
lvc.fmt&=~LVCFMT_JUSTIFYMASK;
lvc.fmt|=LVCFMT_CENTER;
m_ctrList.SetColumn(0,&lvc);
(3)插入第一列后,将其删除,第二列此时会充当第一列,已经居中了。。。
评论