请教一个列表视图的问题
我在列表视图的OnInitialUpdate()函数中,对列表视图做了如下初始化工作:
ASSERT(GetStyle() & LVS_REPORT);
/////设置首列
GetListCtrl().InsertColumn(0,_T("name"),LVCFMT_LEFT);
////设置第二列
LVCOLUMN col;
col.mask = LVCF_FMT | LVCF_TEXT;
col.pszText = _T("sex");
col.fmt = LVCFMT_LEFT;
GetListCtrl().InsertColumn(1, &col);
////设置三列
col.pszText = _T("age");
GetListCtrl().InsertColumn(2, &col);
GetListCtrl().SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER);
GetListCtrl().SetColumnWidth(1, LVSCW_AUTOSIZE_USEHEADER);
GetListCtrl().SetColumnWidth(2, LVSCW_AUTOSIZE_USEHEADER);
我列表视的一个成员函数中,想要重新设置列表视的列,如下:
for(int i = 0;i<3;i++)
{
GetListCtrl().DeleteColumn(0);
}
GetListCtrl().InsertColumn(0,_T("big),LVCFMT_LEFT);
LVCOLUMN col;
col.mask = LVCF_FMT | LVCF_TEXT;
col.pszText = _T("middle");
col.fmt = LVCFMT_LEFT;
GetListCtrl().InsertColumn(1, &col);
col.pszText = _T("small");
GetListCtrl().InsertColumn(2, &col);
GetListCtrl().SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER);
GetListCtrl().SetColumnWidth(1, LVSCW_AUTOSIZE_USEHEADER);
GetListCtrl().SetColumnWidth(2, LVSCW_AUTOSIZE_USEHEADER);
可是不知道为什么,列表视图显示的始终是初始时的样子。请教列位高手,这是为什么呢?如何重新设置列表视图的列呢?谢谢!!