- 注册时间
 - 2021-4-16
 
- 最后登录
 - 2025-1-4
 
- 在线时间
 - 5 小时
 
 
 
 
 
编程入门 
  
	- 龙马币
 - 54 
 
 
 
 
 | 
 
 
一、全局变量法 
1)先生成模态对话框。 
主窗口 
子窗口 
 
2)在主窗口的按钮控件写如下代码 
- CString global_msg;
 
 - void Cexample1Dlg::OnBnClickedButtonMain()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -         //把IDC_EDIT_MAIN的值给global_msg
 
 -         GetDlgItemText(IDC_EDIT_MAIN, global_msg);
 
 -  
 
 -         Dlg_new dlg;
 
 -         dlg.DoModal();
 
 -         //把global_msg的值给IDC_EDIT_MAIN
 
 -         SetDlgItemText(IDC_EDIT_MAIN,global_msg);
 
 - }
 
  复制代码 
3)在子窗口的头文件中写如下代码 
- extern CString global_msg;
 
  复制代码 
4)在子窗口的按钮中写如下代码 
- void Dlg_new::OnBnClickedButtonNew()
 
 - {
 
 -         GetDlgItemText(IDC_EDIT_NEW, global_msg);
 
 - }
 
  复制代码 
 5)重新子窗口初始化代码 
- BOOL Dlg_new::OnInitDialog()
 
 - {
 
 -         CDialogEx::OnInitDialog();
 
 -  
 
 -         // TODO:  在此添加额外的初始化
 
 -         SetDlgItemText(IDC_EDIT_NEW, global_msg);
 
 -  
 
 -         return TRUE;  // return TRUE unless you set the focus to a control
 
 -                                   // 异常: OCX 属性页应返回 FALSE
 
 - }
 
  复制代码 
 
 
二、成员变量法 
1)在子窗口头文件,公共成员变量里: 
 
 
 2)在主窗口按钮程序中 
- void Cexample1Dlg::OnBnClickedButtonMain()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -  
 
 -         /*成员变量法*/
 
 -         Dlg_new dlg;
 
 -         GetDlgItemText(IDC_EDIT_MAIN,dlg.message);
 
 -         dlg.DoModal();
 
 -         SetDlgItemText(IDC_EDIT_MAIN,dlg.message);
 
 - }
 
  复制代码 
 
3) 在子窗口按钮程序中 
- void Dlg_new::OnBnClickedButtonNew()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -  
 
 -         /*成员变量法*/
 
 -         GetDlgItemText(IDC_EDIT_NEW, message);
 
 -  
 
 - }
 
  复制代码 
 
4)在子窗口初始化程序中 
- BOOL Dlg_new::OnInitDialog()
 
 - {
 
 -         CDialogEx::OnInitDialog();
 
 -  
 
 -         /*成员变量法*/
 
 -         SetDlgItemText(IDC_EDIT_NEW, message);
 
 -  
 
 -         return TRUE;  // return TRUE unless you set the focus to a control
 
 -                                   // 异常: OCX 属性页应返回 FALSE
 
 - }
 
  复制代码 
 
 
 三、通过AfxGetMainWnd()获取主窗口的指针 
 
1)主窗口按键程序 
- void Cexample1Dlg::OnBnClickedButtonMain()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -  
 
 -         Dlg_new dlg;
 
 -         dlg.DoModal();
 
 - }
 
  复制代码 
 
2)子窗口初始化程序 
- BOOL Dlg_new::OnInitDialog()
 
 - {
 
 -         CDialogEx::OnInitDialog();
 
 -  
 
 -         /*法三通过AfxGetMainWnd()获取主窗口的指针*/
 
 -         CString msg;
 
 -  
 
 -         //CWnd* pWnd = AfxGetMainWnd();
 
 -  
 
 -         //CDialog 为CWnd的子类所以可以用下面的代码,代替上面的代码。
 
 -         //因为MFC的窗口都是基于CDialog,所以用下面的代码
 
 -         CDialog* pdlg = (CDialog*)AfxGetMainWnd();  //获取主窗口的指针
 
 -         pdlg->GetDlgItemText(IDC_EDIT_MAIN,msg);
 
 -         SetDlgItemText(IDC_EDIT_NEW,msg);
 
  
-         return TRUE;  // return TRUE unless you set the focus to a control
 
 -                                   // 异常: OCX 属性页应返回 FALSE
 
 - }
 
  复制代码 
 
 3)子窗口按键程序 
- void Dlg_new::OnBnClickedButtonNew()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -  
 
 -         /*法三通过AfxGetMainWnd()获取主窗口的指针*/
 
 -         CString msg;
 
 -         CDialog* pdlg = (CDialog*)AfxGetMainWnd();
 
 -  
 
 -         GetDlgItemText(IDC_EDIT_NEW, msg);
 
 -         pdlg->SetDlgItemText(IDC_EDIT_MAIN, msg);
 
 - }
 
  复制代码 
 
 
 四、通过GetParent()获取父窗口的指针 
 
 1)主窗口按键程序 
- void Cexample1Dlg::OnBnClickedButtonMain()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -  
 
 -         Dlg_new dlg;
 
 -         dlg.DoModal();
 
 - }
 
  复制代码 
 
 2)子窗口初始化程序 
- BOOL Dlg_new::OnInitDialog()
 
 - {
 
 -         CDialogEx::OnInitDialog();
 
 -  
 
 -         /*法四通过GetParent()获取父窗口的指针*/
 
 -         CString msg;
 
 -  
 
 -         //CWnd* pWnd = AfxGetMainWnd();
 
 -  
 
 -         //CDialog 为CWnd的子类所以可以用下面的代码,代替上面的代码。
 
 -         //因为MFC的窗口都是基于CDialog,所以用下面的代码
 
 -         CDialog* pdlg = (CDialog*)GetParent();  //获取主窗口的指针
 
 -         pdlg->GetDlgItemText(IDC_EDIT_MAIN,msg);
 
 -         SetDlgItemText(IDC_EDIT_NEW,msg);
 
  
-         return TRUE;  // return TRUE unless you set the focus to a control
 
 -                                   // 异常: OCX 属性页应返回 FALSE
 
 - }
 
  复制代码 
 
 3)子窗口按键程序 
- void Dlg_new::OnBnClickedButtonNew()
 
 - {
 
 -         // TODO: 在此添加控件通知处理程序代码
 
 -  
 
 -         /*法四通过GetParent()获取父窗口的指针*/
 
 -         CString msg;
 
 -         CDialog* pdlg = (CDialog*)GetParent();
 
 -  
 
 -         GetDlgItemText(IDC_EDIT_NEW, msg);
 
 -         pdlg->SetDlgItemText(IDC_EDIT_MAIN, msg);
 
 - }
 
 
  复制代码 
 |   
 
 
 
 |