常见的两种类和类之间相互调用的方法。
16.1 用户权限信息在不同对话框之间共享
①在CWokerApp类中定义变量:
②在CLoginDlg类中进行赋值
③在CMainDlg类中进行访问应用,采用引用型变量
16.2 其他对话框访问主对话框(AfxGetMainWnd)
①在CWorkerApp类中指定主对话框
②在其他对话框中使用全局函数AfxGetMainWnd获取主对话框指针并访问
void CInputDlg::AddToList()
{
if (AfxMessageBox(_T(“是否添加), MB_YESNO) == IDNO)
return;
CString str;
GetDlgItemText(IDC_NUMB, str);
}
16.3 其他对话框访问主对话框(m_pDlg)
思想:直接定义指针变量指向要访问的对话框,这种方法其实没有主对话框
①在CInputDlg类中定义CWorkerDlg类型的指针变量,用来指向CWorkerDlg对话框;需要CInputDlg类中包含CWorkerDlg的头文件或进行声明,然而在头文件中进行包含容易造成类与类之间相互包含的混乱错误,因此可以进行声明;这种声明其实是假声明,只适用于指针类型,不适用于对象。
这种声明可以防止类与类在头文件中相互包含、重复包含而引起的错误。
②在CInputDlg窗口弹出之前,将CWorkerDlg对象指针(this指针)赋值给①中定义的m_pDlg变量
16.4 消息反射:(控件内的消息映射到父窗口类)
a)所有子控件的内部消息都是通过WM_NOTIFY这个消息反射给父窗口;
b)不同的控件类型对应有不同的反射消息种类;
例如:代表Button Notify Click`(按钮点击消息)
代表(选中项变化了)
16.5 在CWnd类中常见的等价关系:
a)判断父子关系:
b)判断是否是最大化:pWnd ->GetStyle() & WS_MAXIMIZE`
c)判断是否可见:
d)判断是否可用:
16.6 CWnd类中常见的静态成员函数:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!