MFC获取主框架,文档,视图的指针

如何获得当前程序的视图,文档指针


首先需要在头文件中,包含CMainFrm.h

方法1:

1)获取当前框架的指针

CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();

2)之后可以获取当前文档和视图的指针

获取视图指针方法:

((CMyView *)(pFrame->GetActiveView()))

获取文档指针的方法:

((CMyDoc *)(pFrame->GetActiveDocument()))

方法2:

1)通过全局函数AfxGetApp()得到应用程序的指针.

2)用这个应用程序的指针-> m_pMainWnd得到MainFrame的指针.

3)再用MainFrame的指针-> GetActiveView()得到当前视图的指针.

如上两种方法,区别在于如何获得MainFrame的指针,而后处理是一样的。


1,如何在视图类中获取主窗口指针

主窗口的指针保存在CWinThread::m_pMainWnd中(应用程序类的Initlnstance函数有用到),可以调用 AfxGetMainWnd获取,也可以用视图类继承的函数GetParent()获取。另外,如果要获取当前视图类对象的指针(比如要在当前视图手动添 加控件)要使用this。

2、如何在主框架类中获得视图类指针

单文档(SDI):

CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();

CMyDoc* pDoc = (CMyDoc*)pMainFrame->GetActiveDocument();

CMyView* pView = (CMyView*)pMainFrame->GetActiveView();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值