vc++6.0如何实现基于对话框模态对话框中编辑框的内容显示在主对话框静态文本中?
问题描述:
vc++6.0基于对话框如何实现在模态对话框中输入一个数,然后点击确定按钮将编辑框中的数值显示在主对话框的静态文本中。(注:静态文本的默认值为10)求具体步骤和代码!
答
模式对话框
class CSubDlg : public CDialogEx
{
...
public:
int num; //定义一个成员变量
};
//对话框初始化函数
BOOL CSubDlg::OnInitDialog()
{
...
num=10;
CString str;
str.Format("%d",num);
SetDlgItemText(IDC_EDIT1,str); //IDC_EDIT1是编辑框ID
return TRUE;
}
//确定按钮消息处理函数
void CSubDlg::OnBnClickedOk()
{
CString str;
GetDlgItemText(IDC_EDIT1,str);
num=atoi(str);
CDialogEx::OnOK();
}
主对话框增加一个按钮,消息处理函数:
#include "SubDlg.h"
void CTestDlgDlg::OnBnClickedButton2()
{
CSubDlg dlg;
if(dlg.DoModal()==IDOK)
{
CString str;
str.Format("%d",dlg.num);
SetDlgItemText(IDC_STATIC100,str); //静态文本ID:IDC_STATIC100
}
}
答
对话框创建的时候,参数带一个变量引用过去,GetWindowText获取输入的数,然后赋值给变量
对话框确定后,主对话框获取变量的值