多文档中建立一个对话框类,通过这个方法来在其他类中得到对话框对象指针,访问对话框成员
{
// 添加内容 m_pDrawTool = new CDrawToolDlg; m_pDrawTool->Create(IDD_DRAWTOOLS, this); m_pDrawTool->ShowWindow(SW_SHOW); // 让窗口出现在屏幕右下方 CRect dlgRect; CRect mainRect; m_pDrawTool->GetClientRect(&dlgRect); GetWindowRect(mainRect); // 计算显示的坐标 int x = mainRect.right - dlgRect.Width(); int y = mainRect.bottom - dlgRect.Height(); CPoint point(x, y); m_pDrawTool->SetWindowPos(NULL, point.x, point.y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中 new一个对象,给成员变量指针
}
以上是在CMainFrame类中使用对话框类指针来访问对话框成员方法(因为其new 是在CMainFrame类中)
在MainFrm.h 头文件中 定义一个静态成员函数,用以获取对话框的指针
{
//-------------------------------------------------------------------------- // 作用: 获取绘图工具箱对象的指针 // 返回值: 绘图工具箱对象的指针 // 备注: 静态函数 //-------------------------------------------------------------------------- static CDrawToolDlg* GetDrawTool() { CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd(); return pMain->m_pDrawTool; }
}