mfc获得各个类的句柄.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mfc获得各个类的句柄

mfc获得各个类的句柄 MFC 中获得各个类的指针/句柄 ID的总结2010年03月26日 星期五 14:23一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针获取和操作 问题。 下面这节内容主要是一般的框架,然后再讲多线程中的指针使用。使用到的类需要包含响应的头文件。 首先一般获得本类(视,文档,对话框都支持)实例指针 this,用this的目的,主要可以通过类中的函数向其他类或者函数中发指针,以便于在非本类中操作和使用本类中的功能。 这其中的关键在于理解 m_pMainWnd, AfxGetApp(),AfxGetMainWnd() 的意义! 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 * pStatusBar=(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) 在任何类中获得应用程序类 AfxGetInstanceHandle 得到句柄,AfxGetApp 得到指针 B1.如何在自己的类和 “应用程序类”中获得“文档类”的句柄? SDI AfxGetMainWnd() - GetActiveView() - GetDocument() 得到指针 MDI AfxGetMainWnd() - MDIGetActive() - GetActiveView() - GetDocument() 得到指针 B3.如何在“框架类”中获得“文档类”句柄? SDI GetActiveView() - GetDocument() 得到指针,MDI MDIGetActive() - GetActiveView() - GetDocument() 从 CMainFrame 得到指针,GetActiveView() - GetDocument() 从 CChildFrame 得到指针 B4.如何在“视图类”中获得“文档类”句柄? GetDocument() C1. 如何在“文档类”中获得“视图类”句柄? GetView(),调用 GetFirstViewPosition 和 GetNextView 函数得到指针。 C2.如何在自己的类和“应用程序类”中获得“视图类”句柄? SDI GetActiveView 得到指针 MDI MDIGetActive() - GetActiveView() 从 CMainFrame 得到指针,GetActiveView 从 CChildFrame 得到指针 最后提醒大家,在提取到各个句柄之后,因为初次提取的都是标准类句柄,所以,在使用时要注意将标准句柄 转换成自己的类的句柄。 如: AfxGetApp();//得到的是WinApp类的句柄, 所以操作前记得转换成自己定义的类的句 柄。 如: ((CMyApp*)AfxGetApp())-XXXX();//这的xxxx()就是你定义的类中间的成员。 另 外,附上 MSDN 关于应用程序信息和管理的各

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档