我用程序是单文档多视图类型的,在创建第一个View时调用InsertColumn函数插入View的列名成功,但是创建第二个View时调用却不成功,系统编译也没有错误,运行也不出错,就是第二个View里面不显示列名,为什么呢?两个View是在MainFrame中创建分割窗体时创建的,代码如下://创建第一个View,插入列名成功了
int CMCUTree::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1; CListCtrl &listCtrl = GetListCtrl(); listCtrl.EnableWindow( FALSE ); listCtrl.InsertColumn(0, _T("MCUID"), LVCFMT_CENTER, 60);
listCtrl.InsertColumn(1, _T("MCUIP"), LVCFMT_CENTER, 140);
listCtrl.SetExtendedStyle(listCtrl.GetExtendedStyle()|LVS_EX_CHECKBOXES);
return 0;
}//创建第二个View,插入列名失败了
int CDBView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1; CListCtrl &lcDBView = GetListCtrl(); lcDBView.InsertColumn(0, _T("状态"), LVCFMT_CENTER, 60);
lcDBView.InsertColumn(1, _T("当前正在执行的任务"), LVCFMT_CENTER, 150);
lcDBView.SetExtendedStyle(lcDBView.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
return 0;
}两个View都是以CListView为基类,头文件和实现文件基本相差无几,但是为什么第二个就不成功呢?
int CMCUTree::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1; CListCtrl &listCtrl = GetListCtrl(); listCtrl.EnableWindow( FALSE ); listCtrl.InsertColumn(0, _T("MCUID"), LVCFMT_CENTER, 60);
listCtrl.InsertColumn(1, _T("MCUIP"), LVCFMT_CENTER, 140);
listCtrl.SetExtendedStyle(listCtrl.GetExtendedStyle()|LVS_EX_CHECKBOXES);
return 0;
}//创建第二个View,插入列名失败了
int CDBView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CListView::OnCreate(lpCreateStruct) == -1)
return -1; CListCtrl &lcDBView = GetListCtrl(); lcDBView.InsertColumn(0, _T("状态"), LVCFMT_CENTER, 60);
lcDBView.InsertColumn(1, _T("当前正在执行的任务"), LVCFMT_CENTER, 150);
lcDBView.SetExtendedStyle(lcDBView.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
return 0;
}两个View都是以CListView为基类,头文件和实现文件基本相差无几,但是为什么第二个就不成功呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货