好友
阅读权限10
听众
最后登录1970-1-1
|
mfc窗口传值方法,
首先建立一个mfc对话框工程,在主对话框界面添加按钮,添加编辑框。然后插入一个新对话框,在新对话框界面里中右键新建一个基于对话框类。我这里新建的类名称为CTeach。在子对话框中插入一个编辑框。
然后在主对话框中添加按钮事件。弹出子对话框。Cteach *pdlg;
void CMFCApplication3Dlg::OnBnClickedButton1()
{
pdlg=new Cteach();
pdlg->Create(IDD_DIALOG1,this);
pdlg->ShowWindow(SW_SHOW);
// TODO: 在此添加控件通知处理程序代码
}
然后在新建对话框初始化中添加窗口传值的代码。BOOL Cteach::OnInitDialog()
{
CDialog::OnInitDialog();
////因为CDialog是CWnd的子类,所以上面也可以写成:
//CDialog* pdlg = (CDialog*) AfxGetMainWnd();
Cteach *PDLG=( Cteach*) AfxGetMainWnd();//
//SetDlgItemText(IDC_EDIT1,strtext);
CString str;
PDLG->GetDlgItemText(IDC_MAIN ,str);//获取主窗口编辑框的内容
SetDlgItemText(IDC_SET,str);//更新子窗口编辑框的内容
return TRUE;
// 异常: OCX 属性页应返回 FALSE
}
。为了能把子窗口值传入主窗口。在子对话框中添加代码。
void Cteach::OnBnClickedOk()
{CString str1;
GetDlgItemText(IDC_SET,str1);// TODO: 在此添加控件通知处理程序代码
//CString str;
//和在对话框初始化中函数内容类似,不再解释
CMFCApplication3Dlg *pdlg=(CMFCApplication3Dlg*)AfxGetMainWnd();
pdlg->SetDlgItemText(IDC_MAIN,str1);
// TODO: 在此添加控件通知处理程序代码
CDialog::OnOK();
}
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|