vs2010中,MFC基于对话框的编程,在一个对话框中想要获取其他对话框中变量的值,要怎么做?
答案:4 悬赏:30
解决时间 2021-01-30 22:54
- 提问者网友:谁的错
- 2021-01-30 01:44
vs2010中,MFC基于对话框的编程,在一个对话框中想要获取其他对话框中变量的值,要怎么做?
最佳答案
- 二级知识专家网友:梦中风几里
- 2021-01-30 03:22
用的较多的是:CWnd::GetDlgItem再使用CWnd::GetWindowText还有一个是 CWnd::GetDlgItemText
这些都是比较常用的、
例如获取一个EDIT控件的文本,ID是IDC_EDITRESULT
第一种方式:
CString str_edit;
GetDlgItem(IDC_EDITRESULT)->GetWindowText(str_edit);
第二种方式:
CString str_edit;
GetDlgItemText(IDC_EDITRESULT,str_edit);
具体看MSDN追问请问这个控件可以是其他对话框上的控件吗?我想在对话框2中使用对话框1中的EDIT控件的文本内容。然后上面两种方法都用过了,编译的时候都没问题,第二种方法没得到str_edit的值,第一种方法在运行的时候弹出了
这个消息框,不知道什么意思,求解答啊,谢谢!
追答可能是找不到那个控件吧。两个对话框的啊、追问其实我是想在对话框2的类里定义一个静态成员变量,可是总是出现
这个错误!
追答额额,不知道,抱歉
这些都是比较常用的、
例如获取一个EDIT控件的文本,ID是IDC_EDITRESULT
第一种方式:
CString str_edit;
GetDlgItem(IDC_EDITRESULT)->GetWindowText(str_edit);
第二种方式:
CString str_edit;
GetDlgItemText(IDC_EDITRESULT,str_edit);
具体看MSDN追问请问这个控件可以是其他对话框上的控件吗?我想在对话框2中使用对话框1中的EDIT控件的文本内容。然后上面两种方法都用过了,编译的时候都没问题,第二种方法没得到str_edit的值,第一种方法在运行的时候弹出了
这个消息框,不知道什么意思,求解答啊,谢谢!
追答可能是找不到那个控件吧。两个对话框的啊、追问其实我是想在对话框2的类里定义一个静态成员变量,可是总是出现
这个错误!
追答额额,不知道,抱歉
全部回答
- 1楼网友:洎扰庸人
- 2021-01-30 05:48
这个方法很多比较容易理解的是
CString str;
GetDlgItem(IDC_XXX)->GetWindowText(str);//IDC_XXX 你控件的ID追问
谢谢!不过按您的代码,调试时他弹出这个
什么状况啊?
CString str;
GetDlgItem(IDC_XXX)->GetWindowText(str);//IDC_XXX 你控件的ID追问
谢谢!不过按您的代码,调试时他弹出这个
什么状况啊?
- 2楼网友:爱难随人意
- 2021-01-30 05:24
记得有两种方式,
1.直接绑定控件,通过控件直接获取值
2.建立和对话框相关的类,通过类update函数将对话框中的值更新到变量中
1.直接绑定控件,通过控件直接获取值
2.建立和对话框相关的类,通过类update函数将对话框中的值更新到变量中
- 3楼网友:摆渡翁
- 2021-01-30 03:47
cstring tmp;
getdlgtext(IDC_EDIT1,tmp);
setdlgtext(IDC_EDIT2,tmp);
你懂了么
我大概这么一写
你不必纠结我的大小写
getdlgtext(IDC_EDIT1,tmp);
setdlgtext(IDC_EDIT2,tmp);
你懂了么
我大概这么一写
你不必纠结我的大小写
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯