前段时间在MFC下的MDI模式下用CListView视图类显示数据的时候不能正确的显示自己设定的样式,折腾半天才找到了原因,其实很简单。由于好久没有用MFC了,有点生疏了。呵呵,以下简单说明以下,就当作为一个记录提醒自己吧。
我目标:
设置标题(多列)
显示栅格线
可以多行显示
一次显示一行
不能正确显示我设定的样式,不能正确的添加多列的原因可能是设定的 Mask不正确,至少我是这样。
应该正确设置的Mask为 LVS_REPORT,如果这里不设置默认的是其他格式的。问题就这么简单。
以下是部分代码(CListView下的代码):
CListCtrl* lstCtrl = (CListCtrl*)&(this->GetListCtrl());
DWORD dwExStyle = lstCtrl->GetExtendedStyle();
dwExStyle |= LVS_EX_GRIDLINES;
dwExStyle |= LVS_EX_MULTIWORKAREAS;
lstCtrl->ModifyStyle(0, LVS_REPORT);
lstCtrl->SetExtendedStyle(dwExStyle|LVS_EX_FULLROWSELECT|LVS_EX_INFOTIP );
int iColumnOrder = 0;
for(.... ) {
LVCOLUMNW column