我创建了一个基于对话框的MFC程序,在这个对话框中建了个tab control控件,然后用这个tab控件把另外两个对话框显示出来
,当然这两个对话框都是子窗口了,当我想在这个子对话框中创建一个list control控件时,程序就不能运行了,一运行就提示“警告 终止 忽略”,后来发现是因为我用control控件映射变量了,也就是说只要CListCtrl m_List;程序就不能运行了。
这是为什么啊?怎么解决?
,当然这两个对话框都是子窗口了,当我想在这个子对话框中创建一个list control控件时,程序就不能运行了,一运行就提示“警告 终止 忽略”,后来发现是因为我用control控件映射变量了,也就是说只要CListCtrl m_List;程序就不能运行了。
这是为什么啊?怎么解决?
另外还得用Create函数创建窗口显示
m_mm1.Create (IDD_DIALOG1,&m_tabctrl);
m_mm2.Create (IDD_DIALOG2,&m_tabctrl);
m_mm3.Create (IDD_DIALOG3,&m_tabctrl);
m_mm1,m_mm2,m_mm3是子对话框的对象,主对话框的OnSelchangeTab函数中,我用SetWindowPos把子对话框都显示出来了,
我刚才忘说了一个很重要现象,就是子对话框中的其它控件都正常显示,唯独list control控件不能映射变量。不映射变量就可以运行,并能看见控件。但只要一映射变量,就不能运行了
而且我感觉子对话框的OnInitDialog函数确实没调用。这是为什么啊?
BOOL CLibmanApp::InitInstance()
{
CLibmanDlg dlg;
m_pMainWnd = &dlg;//运行到这里就出错了
int nResponse = dlg.DoModal();
。。
}
CLibmanDlg是我的主对话框类。
然后Create、SetWindowPos