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);
这样能行得通吗?也不知道可以不? 展开
我的想法是,先说姓名的编辑框,定义一个全局变量,CString m_name,
然后在另外一个对话框类的void Dialog::OnOK()函数中加入:CString str; GetDlgItemText(IDC_NAME,m_name);//获取编辑框的值,
然后格式化输出str.Format("姓名\n%s“,m_name); MessageBox(str);
这样能行得通吗?也不知道可以不? 展开
1个回答
展开全部
可以。
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);
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询