2 qq 30050101 qq_30050101 于 2015.07.23 22:35 提问

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

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

7个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.23 22:39
已采纳

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

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

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

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

qq_30050101
qq_30050101   2015.07.23 22:43

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

wangqingquan1987
wangqingquan1987   2015.07.24 09:40
    m_pDlgSetFile->Create(IDD_DIALOG_SETFILE,this)
VisualEleven
VisualEleven   Ds   Rxr 2015.07.25 09:08

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

notfindjob
notfindjob   2015.07.25 15:42

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

u011937547
u011937547   2015.07.25 16:08

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

Csdn user default icon
上传中...
上传图片
插入图片