MFC 窗口指针

1) 在View中获得Doc指针
CYouSDIDoc *pDoc=GetDocument();一个视只能有一个文档。
2) 在App中获得MainFrame指针
CWinApp 中的 m_pMainWnd变量就是MainFrame的指针
也可以: CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();
3) 在View中获得MainFrame指针
CMainFrame pMain=(CmaimFrame )AfxGetApp()->m_pMainWnd;
4) 获得View(已建立)指针
CMainFrame pMain=(CmaimFrame )AfxGetApp()->m_pMainWnd;
CyouView pView=(CyouView )pMain->GetActiveView();
5) 获得当前文档指针
CDocument
pCurrentDoc=(CFrameWnd
)m_pMainWnd->GetActiveDocument();
6) 获得状态栏与工具栏指针
CStatusBar
pStatusBa=(CStatusBar
)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR);
CToolBar
pToolBar=(CtoolBar
)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);
7) 如果框架中加入工具栏和状态栏变量还可以这样
(CMainFrame *)GetParent()->m_wndToolBar;
(CMainFrame )GetParent()->m_wndStatusBar;
8) 在Mainframe获得菜单指针
CMenu pMenu=m_pMainWnd->GetMenu();
9) 在任何类中获得应用程序类
用MFC全局函数AfxGetApp()获得。
10) 从文档类取得视图类的指针
CDocument类提供了两个函数用于视图类的定位:
GetFirstViewPosition()和GetNextView() virtual POSITION GetFirstViewPosition() const;
virtual CView
GetNextView(POSITION& rPosition) const;
注意:
GetNextView()括号中的参数用的是引用方式,因此执行后值可能改变。
GetFirstViewPosition()用于返回第一个视图位置(返回的并非视图类指针,而是一个POSITION类型值),GetNextView()有两个功能:返回下一个视图类的指针以及用引用调用的方式来改变入的传POSITION类型参数的值。
很明显,在Test程序中,只有一个视图类,因此只需将这两个函数调用一次即可得到CTestView的指针如下(需定义一个POSITION结构变量来辅助操作):
CTestView
pTestView;
POSITION pos=GetFirstViewPosition();
pTestView=GetNextView(pos);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值