在父对话框上有一个按钮,点击该按钮弹出子对话框(此时父亲对话框没消失),在子对话框界面输入数据,输完数据后点击子对话框上确定按钮,父对话框显示刚刚输入的数据,该怎么做呢?
解决方案 »
- CDateTimeCtrl 控件
- 如何得到对话框的ICON句柄
- [求]用SDK编写的记事本程序
- 请问:如何在一个CListCtrl的列表中间方便的插入元素?
- 大侠们,我作的一个工程的一个类的.CPP文件,在我还在做工程时,突然没了,让我重新创建,救命呀!!
- 为何在Class View视窗中看不见CProjManaAPP?急!急!急!
- 征求意见!!!VC入门这么难??
- 关于splitter window
- bmp格式以及JPG算法?
- 想找一个记录ADSL上网时间的小程序,没找到。于是想自己写一个,但不知道下手之处。如果你知道有此软件,请推荐;如果你知道怎么写这样的程序,请指出参考资料或列出关键的几个API。谢谢!
- 关于CWinThread类设计显示时钟的问题
- 【PSS SDK官方教程文档翻译】(8)编程向导五:IDE的基本用法
把相关变量设成public的
这样可以直接访问
例如
yourdlg.variable
CDialog dlg;
if(IDOK == dgl.DoModal)
{
i = dlg.XX; //XX为你对话框中的变量
}
void CMydialog::OnButton1()
{
CMyModedlg dlg;
dlg.DoModal();
}
添加父对话框的公有成员变量,公有成员函数GetSetData()负责接收数据,在该函数中赋值给公有成员变量。
添加子对话框的"确定"按钮响应函数,在该函数中取得控件的输入值,调用父对话框的GetSetData()函数将取得的控件输入值传递过去,现在的情况是,子对话框无论输入什么值,父对话框的值一直为0。
{
CMyModedlg dlg;
if(IDOK==dlg.DoModal())
{
this.value1 = dlg.value1;//CMyModedlg 类里面的公共成员,直接赋值即可...
...
}}
在父对话框中如下调用就可以了CMyModedlg dlg;
if(IDOK==dlg.DoModal())
{
m_value = dlg.GetSetData();
...
}
...
父对话框接收完值记得 Updatedata(FALSE)
void CMydialog::OnButton1()
{
CMyModedlg dlg;
if(dlg.DoModal()==IDOK)
{
m_edit1= dlg.value1;//dlg.value1为CMyModedlg 类里面的公共成员,编辑框
//数据类型与dlg.value1数据类型相同。
UpdateData(FALSE);
}
}