单文档分割成双视图,怎么我动态创建的CListCtrl控件都看不到的?
void CTestView::Show1()
{
CButton *p_MyBut[1];
p_MyBut[0]=NewMyButton(IDC_MYBUTTON1,CRect(20,10,90,40),0);
CListCtrl p_list;
p_list.Create(LVS_REPORT | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES, CRect(50,80,220,140), this, IDC_LIST1);
DWORD dwSystl = ::GetWindowLong(p_list.m_hWnd,GWL_STYLE);
SetWindowLong(p_list.m_hWnd,GWL_STYLE,dwSystl|LVS_REPORT);
DWORD Exsystl =p_list.GetExtendedStyle();
p_list.SetExtendedStyle(Exsystl|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES);
p_list.InsertColumn(0,"xx",LVCFMT_CENTER,110,0);
p_list.InsertColumn(1,"xx",LVCFMT_CENTER,120,0);
p_list.InsertColumn(2,"xx",LVCFMT_CENTER,120,0);
p_list.InsertColumn(3,"xx",LVCFMT_CENTER,120,0);
p_list.ShowWindow(SW_SHOW);
}
CTestView是基于CView类的,按钮可以显示、列表控件就没有显示、但是如果在最后加个MessageBox("");那么弹出MessageBox窗口的时候就能看到列表控件、一关掉MessageBox窗口列表就消失。。。怎么回事?
[解决办法]
你那按钮是new出来的,不会消失,而你那list是在栈中声明出来临时变量,自然退出函数就失效了,而你不加messagebox,自然立即就退出了。