在一个MFC程序中定义了一个对话框类ShowOut。
并在其中添加了一个列表控件ShowList。在ShowOut.cpp中的OnInitDialog中调用
InsertColumn()函数添加行没有任何问题。
但是在程序的一个主菜单对应函数CTextView::OnShowCol()中定义ShowOut成员之后
调用ShowOut.ShowList.InsertColumn()函数就会在程序执行的时候报错。
你光定义变量不行的,这个时候根本没创建对话框,你要DoModal等创建对话框,然后把数据传递作为构造函数参数。
然后还是在OnInitDialog中插入数据到ListCtrl。
那么对话框的创建怎么弄啊?哪个函数可以实现?我想在对话框显示之前就创建好,把数据写进去,最后再弹出来。
先调用dlg.Create()创建对话框
或者通过构造函数将参数传给对护矿,让对话框自己处理。
m_pDlgSetFile->Create(IDD_DIALOG_SETFILE,this)
你的对话框都没有创建,上面的子控件当然也没有创建,所以与窗口相关的操作都为非法操作。
ShowList没有实例化,所以报错!要调用对象的方法,必须检先检查对象是否已经实例化。
没有实例化,没有相对应的控件。。