MFC 如何动态显示列表内的数据

在一个MFC程序中定义了一个对话框类ShowOut。
并在其中添加了一个列表控件ShowList。在ShowOut.cpp中的OnInitDialog中调用
InsertColumn()函数添加行没有任何问题。
但是在程序的一个主菜单对应函数CTextView::OnShowCol()中定义ShowOut成员之后
调用ShowOut.ShowList.InsertColumn()函数就会在程序执行的时候报错。
图片说明

7个回答

你光定义变量不行的,这个时候根本没创建对话框,你要DoModal等创建对话框,然后把数据传递作为构造函数参数。
然后还是在OnInitDialog中插入数据到ListCtrl。

oyljerry
oyljerry 回复qq_30050101: DoModal创建,你在OnInitDialog中创建数据,这个时候对话框还没显示。
接近 5 年之前 回复
qq_30050101
qq_30050101 那么对话框的创建怎么弄啊?哪个函数可以实现?我想在对话框显示之前就创建好,把数据写进去,最后再弹出来
接近 5 年之前 回复

那么对话框的创建怎么弄啊?哪个函数可以实现?我想在对话框显示之前就创建好,把数据写进去,最后再弹出来。

先调用dlg.Create()创建对话框

或者通过构造函数将参数传给对护矿,让对话框自己处理。

    m_pDlgSetFile->Create(IDD_DIALOG_SETFILE,this)

你的对话框都没有创建,上面的子控件当然也没有创建,所以与窗口相关的操作都为非法操作。

ShowList没有实例化,所以报错!要调用对象的方法,必须检先检查对象是否已经实例化。

没有实例化,没有相对应的控件。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐