如何得到视图指针?

清泛编译
45. 如何得到视图指针?

[问题提出]
  现在你有一个多线程的Demo,你想在多线程里处理视图指针里的函数,我们给这个函数起个名字:Put();该如何实现呢?
  //有两种方法可以实现你的要求:
  //1)第一种方法:
  //要是多线程不是在App.cpp里出现,那么要在多线程的.cpp中加上extern CYourApp theApp;
  //获得文档模板:
  POSITION curTemplatePos = theApp.GetFirstDocTemplatePosition();
  CDocTemplate *m_doc=theApp.GetNextDocTemplate(curTemplatePos);

  //获得文档:
  curTemplatePos=m_doc->GetFirstDocPosition();
  CYourDoc *m_pdoc=(CA8Doc*)m_doc->GetNextDoc(curTemplatePos);
  
  //获得视图:
  curTemplatePos=m_pdoc->GetFirstViewPosition();
  CYourView *m_pview=(CYourView*)m_pdoc->GetNextView(curTemplatePos);

  //调用视图函数:
  m_pview->Put();

  //2)第二种方法:
  //获得窗体指针:
  CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;

  //获得与该窗体符合的视图:
  CYourView *m_pView = (CYourView *) pFrame->GetActiveView();

  //调用视图函数:
  m_pView->Put();

本文导航

MFC 总结 技巧

分享到:
评论加载中,请稍后...
App Inventor 2 中文网,少儿编程首选平台!
回到顶部