如何在两个对话框中间传递参数?

xiaobinliu 2001-07-16 03:54:09
我程序中的一个对话框中,用DoModel打开一个对话框,在这里得到一个值,想在按下
OK按钮退出这个对话框回到原来那个对话框时候把这个值传回去,如何做呀?
...全文
223 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
landy_zl 2001-07-17
  • 打赏
  • 举报
回复
难道还不行
xiaobinliu 2001-07-16
  • 打赏
  • 举报
回复
我又加了分
landy_zl 2001-07-16
  • 打赏
  • 举报
回复
方法如下:
CFatherDlg
{
CSonDlg* pDlg;
}
调用时
pDlg = new CSonDlg;
if(pDlg->Domodal()==idok)
then......;
重载ONOK();
{
m_arg=dlg.m_inputparam;
}
别忘记给分,快点
wmouse 2001-07-16
  • 打赏
  • 举报
回复
全局变量只要在工程(例如名叫Try)的头文件Try.h中用extern来声明,在Try.cpp中赋初值,以后便可直接使用,无需#include.
gameboy999 2001-07-16
  • 打赏
  • 举报
回复
就把要传的那个变量放在dialog2里的public里
然后在关闭前赋值

之后就可以在domodal之后访问该变量了。
seedundersnow 2001-07-16
  • 打赏
  • 举报
回复

你在两个话框中同时include,就会重复定义,只需要include一遍,其他需要这个变量的地方,用extern来说明

xiaobinliu 2001-07-16
  • 打赏
  • 举报
回复
我还想把全局变量的方法试过
xiaobinliu 2001-07-16
  • 打赏
  • 举报
回复
另外:leizhengdeng的方法我已经试验通过了,谢谢
xiaobinliu 2001-07-16
  • 打赏
  • 举报
回复
我用了extern 后,出错提示信息还是一样的
cuick2000 2001-07-16
  • 打赏
  • 举报
回复
告诉你个笨办法,用extern.呵呵
cuick2000 2001-07-16
  • 打赏
  • 举报
回复
重复定义了
xiaobinliu 2001-07-16
  • 打赏
  • 举报
回复
我写了一个全局变量
CString User_Name="";
放在一个global.h文件中
然后分别在两个对话框中include
为何出现这样的错误,如何解决?
DlgLogin.obj : error LNK2005: "class CString User_Name" (?User_Name@@3VCString@@A) already defined in emailsenderv2Dlg.obj
leizhengdeng 2001-07-16
  • 打赏
  • 举报
回复
假设在CDlg2 中输入数据传到CDlg1中,那么:
在CDlg1中,写成如下代码:
//inputparam是CDlg2中的与CEdit关联的变量,用CLASSWIZARD关联
//传到CDlg1中的变量为m_arg
CDlg2 dlg;
if(dlg.DoModel()==IDOK)
{
m_arg=dlg.m_inputparam;
}

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧