多文档中建立一个对话框类,通过这个方法来在其他类中得到对话框对象指针,访问对话框成员

 

 

{

//    添加内容        
    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;
    }

}

 

 

 

posted on 2017-07-17 23:12  竹林海宝  阅读(155)  评论(0编辑  收藏  举报

导航