VC++ 模态对话框能获取父窗口的数据吗?
我想实现一个基于对话框的程序,在编辑框里输入一个字符串,按下“确定键”会弹出一个模态对话框,上面的列表控件的第一行显示着我刚刚输入的字符串。请问这能实现吗?如果能,该怎么...
我想实现一个基于对话框的程序,在编辑框里输入一个字符串,按下“确定键”会弹出一个模态对话框,上面的列表控件的第一行显示着我刚刚输入的字符串。请问这能实现吗?
如果能,该怎么实现? 展开
如果能,该怎么实现? 展开
2个回答
展开全部
可以的。
你在DoModal()前先将参数传进去。
例如要弹出的对话框是CDialog2,在CDialog2中定义一个CString mystr;再在OnInitDialog()中将mystr插入到列表控件中即可。
然后在要弹出的地方如下写:
CDialog2 dlg;
dlg.mystr="myname";//myname即是你所的编辑框里输入的数据,可用关联变量表示也行。
dlg.DoModal();
你在DoModal()前先将参数传进去。
例如要弹出的对话框是CDialog2,在CDialog2中定义一个CString mystr;再在OnInitDialog()中将mystr插入到列表控件中即可。
然后在要弹出的地方如下写:
CDialog2 dlg;
dlg.mystr="myname";//myname即是你所的编辑框里输入的数据,可用关联变量表示也行。
dlg.DoModal();
追问
"例如要弹出的对话框是CDialog2,在CDialog2中定义一个CString mystr;再在OnInitDialog()中将mystr插入到列表控件中即可。"这里能写出具体的代码吗?还有,那个列表是在子对话框上,在OnInitDialog()能将mystr插进去吗?我总是得到宏调试出错的提示。。。
追答
在子对话框(CDialog2)的OnInitDialog()中进行列表控件的插入动作。
OnInitDialog()的加入方法是在该类中添加WM_INITDIALOG消息处理后就可看到OnInitDialog()函数。
插入的代码如下:
((CListBox *)GetDlgItem(IDC_LIST1))->AddString(mystr);//IDC_LIST1是列表控件的ID
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询