MFC如何快速访问视图类和文档类成员

本文介绍如何在MFC单文档工程中通过全局变量访问视图类和文档类的成员。首先定义全局变量并声明,然后在需要访问的类中通过指针访问成员。此外,还提供了一种不推荐的访问方式,并给出原因。

(1)、新建一个mfc单文档工程(在这里工程名称取名为Your)

(2)、在CYourView中定义一个全局变量 CYourView* g_cView;

(3)、在需要访问的类中添加好相应的头文件,再次申明变量 extern CYourView* g_cView;

  g_cView->成员; //访问视图类中的成员

  g_cView->GetDocument()->成员;  //访问文档类中的成员

 

不建议使用如下方式访问,如果在多线程先使用,用的不好的情况可能会出现一些不可预见的问题...

  CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; //在View中获得MainFrame指针
  CyouView *pView=(CyouView *)pMain->GetActiveView(); //获得View指针
  CDocument *pDoc =(CFrameWnd *)m_pMain->GetActiveDocument(); //获得当前文档指针

 

如果想更深入的了解在MFC中获取各种指针和句柄的方法,可以参考一下这篇文章:

     http://www.cnblogs.com/hhj-321/p/3336937.html

 

 

转载于:https://www.cnblogs.com/hhj-321/p/3375680.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值