VC++MFC如何在其他对话框类中得到初始创建的对话框类的控件变量的值
答案:1 悬赏:30 手机版
解决时间 2021-11-17 01:34
- 提问者网友:半生酒醒
- 2021-11-16 14:15
VC++MFC如何在其他对话框类中得到初始创建的对话框类的控件变量的值
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-11-16 14:37
可以。
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);追问更新以后还是请输入昵称
还有个问题 就是 输入昵称后 鼠标再次点击编辑框 又清空了 怎么回事追答UpdateData(TRUE);
name=dlg1.m_name;
str.Format("昵称
%s",name);不会出现你说的问题,出现了说明你哪里和描述的不符,有其它问题。
至于“又清空了”,没看出你哪里的逻辑是不再清空的,如果只是希望清空第一次,你需要在编辑框焦点消息里面通过一个类成员变量控制并记录是第一次。
if(hasChange==0)
{
hasChange=1;
SetDlgItemText(IDC_EDIT1,_T(""));
}来自:求助得到的回答
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);追问更新以后还是请输入昵称
还有个问题 就是 输入昵称后 鼠标再次点击编辑框 又清空了 怎么回事追答UpdateData(TRUE);
name=dlg1.m_name;
str.Format("昵称
%s",name);不会出现你说的问题,出现了说明你哪里和描述的不符,有其它问题。
至于“又清空了”,没看出你哪里的逻辑是不再清空的,如果只是希望清空第一次,你需要在编辑框焦点消息里面通过一个类成员变量控制并记录是第一次。
if(hasChange==0)
{
hasChange=1;
SetDlgItemText(IDC_EDIT1,_T(""));
}来自:求助得到的回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯