扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。
在程序运行时CWinApp将创建一个CFrameWnd框架窗口对象,而框架窗口将创建文档模板,然后文档模板创建文档实例和视实例,并将两者关联。一般来讲我们只需对文档和视进行操作,框架的各种行为已经被MFC安排好了而不需人为干预。
在程序中得到各种对象的指针:
全局函数AfxGetApp可以得到CWinApp应用类指针。CWinApp拥有一个对象指针:CDocManager* m_pDocManager,CDocManager拥有一个指针链表CPtrList m_templateList,用来维护一系列的 Document Templates。一个程序若支持n“种”文件类型就应该有n份Document Templates。CDocTemplate拥有三个成员变量,分别持有Document,View,Frame的CRumTimeClass指针,另有一个成员变量m_nIDResource,用来表示此Document显示时应该采用的UI对象。
AfxGetApp()->m_pMainWnd为框架窗口指针
在框架窗口中:CFrameWnd::GetActiveDocument得到当前活动文档指针
在框架窗口中:CFrameWnd::GetActiveView得到当前活动视指针
在视中:CView::GetDocument得到对应的文档指针,CDocument有一个成员变量CDocTemplate* m_pDocTemplate,回指其Document Template;另有一个成员变量CPtrList m_viewList,表示它可以同时维护一系列的Views。
在文档中:CDocument::GetFirstViewPosition,CDocument::GetNextView用来遍历所有和文档关联的视
在文档中:CDocument::GetDocTemplate得到文档模板指针
在多文档界面中:CMDIFrameWnd::MDIGetActive得到当前活动的MDI子窗口
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1616466
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者