cloned

 

MFC中自定义类访问主对话框控件

在使用mfc的时候经常遇到自定义类访问主对话框控件的问题,例如自定义类中的方法要输出一段字符串到主对话框的EDIT控件、控制对话框的进度条等。

要在自定义的类中访问主对话框空间,须获得主对话的指针。主对话框的对象在app类的InitInstance()方法中声明。查看app类的cpp文件,在InitInstance()方法中有如下语句:

    CAppDlg dlg;
    m_pMainWnd = &dlg;

主对话框指针被传给m_pMainWnd 成员,按f12查看其定义,发现m_pMainWnd 是在afxwin.h中声明的成员:

    CWnd* m_pMainWnd;       // main window (usually same AfxGetApp()->m_pMainWnd)

由于MFC中的自定义类会自动包含stdafx.h头文件,且stdafx.h包含afxwin.h,因此根据注释,在自定义类中可以直接使用

    AfxGetApp()->m_pMainWnd

来获取主对话框的指针。之后可通过

    AfxGetApp()->m_pMainWnd->GetDlgItem(  );

来获得要访问的主对话框控件的指针,以对其进行访问。

posted on 2010-08-17 14:52 Cloned 阅读(646) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿

随笔档案

友情链接

搜索

最新评论

阅读排行榜

评论排行榜