获得指针(文档、视图、框架)
来源:互联网 发布:c语言求质数用while 编辑:程序博客网 时间:2024/05/22 14:31
CWinApp * AfxGetApp()是一个全局函数,在任何地方都可以获得C***App类对象的指针.
//在C***App类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)CWinThread::m_pMainWnd;
获得C***View类对象的指针:(假设只有一个视图,须通过CMainFrame)
C***View *pView=(C***View *)((CMainFrame*)m_pMainWnd)->CFrameWnd::GetActiveView();
获得C***Doc类对象的指针(须通过CMainFrame)
C***Doc *pDoc=(C***Doc *)((CMainFrame*)m_pMainWnd)->CFrameWnd::GetActiveDocument();
//在CMainFrame类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)CWnd::GetActiveWindow();
获得C***View类对象的指针:
C***View *pView=(C***View *)CFrameWnd::GetActiveView();
获得C***Doc类对象的指针
C***Doc *pDoc=(C***Doc *)CFrameWnd::GetActiveDocument();
从框架类CMainFrame获取文档类指针:
CMyTestApp *pApp = (CMyTestApp*)AfxGetApp();
//在C***Doc类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
CMainFrame* pMain=(CMainFrame*)AfxGetApp()->m_pMainWnd;
获得C***View类对象的指针:
(假设只有一个视图,须通过CMainFrame)
C***View *pView=(C***View *)((CMainFrame*)AfxGetApp()->m_pMainWnd)->CFrameWnd::GetActiveView():
(假设有两个以上视图,以找寻C***View为例)
POSITION pos=CDocument::GetFirstViewPosition();
while(pos != NULL)
{
CView *pView=CDocument::GetNextView(pos);
if(pView->GetRuntimeClass()==RUNTIME_CLASS(C**View))
{
......
}
}
//在C***View类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
CMainFrame* pMain=(CMainFrame*)CWnd::GetParentFrame();
CMainFrame* pMain=(CMainFrame*)AfxGetApp()->m_pMainWnd;
获得C***Doc类对象的指针
C***Doc *pDoc= GetDocument();
注意:
1 在CFrameWnd::ActivateFrame函数之后可以取得CMainFrame *
2 在CView::OnCreate函数执行完毕后,可以查找C***View *
3 在CView::OnCreate函数执行完毕后,可以取得C***Doc *
//在C***App类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)CWinThread::m_pMainWnd;
获得C***View类对象的指针:(假设只有一个视图,须通过CMainFrame)
C***View *pView=(C***View *)((CMainFrame*)m_pMainWnd)->CFrameWnd::GetActiveView();
获得C***Doc类对象的指针(须通过CMainFrame)
C***Doc *pDoc=(C***Doc *)((CMainFrame*)m_pMainWnd)->CFrameWnd::GetActiveDocument();
//在CMainFrame类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)CWnd::GetActiveWindow();
获得C***View类对象的指针:
C***View *pView=(C***View *)CFrameWnd::GetActiveView();
获得C***Doc类对象的指针
C***Doc *pDoc=(C***Doc *)CFrameWnd::GetActiveDocument();
从框架类CMainFrame获取文档类指针:
CMyTestApp *pApp = (CMyTestApp*)AfxGetApp();
POSITION posDT =pApp->GetFirstDocTemplatePosit
CDocTemplate *pDocTemplate =pApp->GetNextDocTemplate( posDT );
POSITION posDoc =pDocTemplate->GetFirstDocPosition();
CMyTestDoc *pDocument = (CMyTestDoc*)pDocTemplate->GetNextDoc( posDoc );
//在C***Doc类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
CMainFrame* pMain=(CMainFrame*)AfxGetApp()->m_pMainWnd;
获得C***View类对象的指针:
(假设只有一个视图,须通过CMainFrame)
C***View *pView=(C***View *)((CMainFrame*)AfxGetApp()->m_pMainWnd)->CFrameWnd::GetActiveView():
(假设有两个以上视图,以找寻C***View为例)
POSITION pos=CDocument::GetFirstViewPosition();
while(pos != NULL)
{
CView *pView=CDocument::GetNextView(pos);
if(pView->GetRuntimeClass()==RUNTIME_CLASS(C**View))
{
......
}
}
//在C***View类中:
获得CMainFrame类对象的指针:
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
CMainFrame* pMain=(CMainFrame*)CWnd::GetParentFrame();
CMainFrame* pMain=(CMainFrame*)AfxGetApp()->m_pMainWnd;
获得C***Doc类对象的指针
C***Doc *pDoc= GetDocument();
注意:
1 在CFrameWnd::ActivateFrame函数之后可以取得CMainFrame *
2 在CView::OnCreate函数执行完毕后,可以查找C***View *
3 在CView::OnCreate函数执行完毕后,可以取得C***Doc *
- 获得指针(文档、视图、框架)
- 获得指针(文档、视图、框架)
- 获得指针(文档、视图、框架)
- 获得指针(文档、视图、框架)
- 在框架窗口中如何获得,视图类的指针以及文档,视图,框架窗口指针的获取与应用
- 获取文档视图框架指针
- 如何获得指针 在文档视图中
- 单文档视图中如何获得视图指针
- MFC获取框架,视图,文档指针
- 常用获得文档类和视图类指针的方法
- VC: 如何获得当前程序的视图,文档指针
- VC:如何获得当前程序的视图,文档指针
- 如何获得当前程序的视图,文档指针
- 单应用程序获得文档类对象指针和获得视图类对象指针办法
- 获取主框架、子框架、文档、视图的指针
- 如何在主框架类中获得视图类指针
- MFC获取文档 视图 程序 框架类的指针
- MFC中获取【文档】【视图】【框架】【应用程序】指针的方法
- 在Spring3中,配置DataSource的方法有6种
- C 语言核心
- Weblogic :解决Managed Server启动非常慢的情况
- Latex等号对齐
- 设备寄存器静态映射的建立
- 获得指针(文档、视图、框架)
- Spring IOC
- 面试中可能用到的知识
- error:no type named iterator_category in struct
- 小KING教你做android项目(一)
- 位图(标量图)和矢量图的区别
- 如何防止用户重复提交表单
- 通向架构师的道路(第三天)之apache性能调优
- 矩阵操作(5)