VC++MFC如何在其他对话框类中得到初始创建的对话框类的控件变量的值

点击创建角色按钮(CMyDlg类),会调用一个对话框(Dialog类),弹出是否要创建,点击确定按钮后,我想用messagebox弹出创建人物的基本信息列表(文字显示一行... 点击创建角色按钮(CMyDlg类),会调用一个对话框(Dialog类),弹出是否要创建,点击确定按钮后,我想用messagebox弹出创建人物的基本信息列表(文字显示一行,相应的数据显示一行)
我的想法是,先说姓名的编辑框,定义一个全局变量,CString m_name,
然后在另外一个对话框类的void Dialog::OnOK()函数中加入:CString str; GetDlgItemText(IDC_NAME,m_name);//获取编辑框的值,
然后格式化输出str.Format("姓名\n%s“,m_name); MessageBox(str);
这样能行得通吗?也不知道可以不?
展开
 我来答
bhtzu
推荐于2016-09-02 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4215万
展开全部

可以。

MFC下推荐使用AfxMessageBox,如果你使用MessageBox,应该加上更多的参数。

if(AfxMessageBox(str,MB_OKCANCEL)==IDOK)
    CDialog::OnOK();
else
    return;
更多追问追答
追问
m_name=”请输入昵称“
然后我在获取焦点的函数中加入:
m_nameedit.SetWindowText( _T("") );
为什么每次出来的都是初始化的默认值,怎样才能让name变为清空后输入的名字
void Dialog::OnOK()
{CString str,name;
name=dlg1.m_name;
str.Format("昵称\n%s",name);
MessageBox(str);}
追答

变量没更新。

m_nameedit.SetWindowText( _T("") );
UpdateData(TRUE);
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式