mfc单文档应用程序结构分析

mfc单文档应用程序结构分析

ID:30777708

大小:58.50 KB

页数:4页

时间:2019-01-03

mfc单文档应用程序结构分析_第1页
mfc单文档应用程序结构分析_第2页
mfc单文档应用程序结构分析_第3页
mfc单文档应用程序结构分析_第4页
资源描述:

《mfc单文档应用程序结构分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、真的开始学习v竺了,感觉还是有点吃力。之前的知识几乎全部忘掉了,要重新开始。不过还好,语法基础还是有的,不用费多人力气。面向对象的知识还是有的,不用重新学习,只需要了解一下就可以了。指针的知识也差不了多少,边用边学吧。今天开始重新进军V竺的殿堂,希望从此打开我的C++学习大门。这个八月的目标:熟悉MFC的单文档、多文档和对话框应用程序,了解MFC下的控件使用。一点一点开始吧KeepMoving第一步:新建一个MFC的单文档应用程序很简单,打开VC6.0C惭愧,都这个时间了,我还在使用6・0~~),“文件”一>“新建”一>“工程”_>"MFCAppWizardCexe

2、)",然后输入工程名称,下一步的时候选择“单文档”,再下一步、下一步……完成即可。我新建的工程名称是Writer,这里先说明一下,下面的分析中都会出现。第二步:主要程序类分析1、应用程序类CWriterAppCWriterApp类继承于CWinApp,负责管理整个应用程序。每一个MFCWindows应用程序对应一个CWinApp派生类的对象,这个对象可以在Writer,cpp中找到。应用程序CWriterApp的一个重要初始化函数TnitTnstance,它用于初始化应用程序。在这个方法的是现在中,有这样一段代码,用来注册单文档的文档窗口、SDI架构主窗体和视图窗口

3、:CSingleDocTemplate^pDocTemplate;pDocTemplate二newCSingleDocTemplate(1DRMAINFRAME,RUNTIMECLASS(CWriterDoc),RUNTIMECLASS(CMainFrame),//mainSDIframewindowRUNTIME_CLASS(CWriterView));AddDocTemplate(pDocTemplate);这段代码指明了文档类、架构类和视图类,从而构造了一个单文档视图结构的应用程序。2^文档类CWriterDoc文档类是用来存取数据的。•其中的Serialli

4、ze方法可以存取数据。3、视图类CWritcrView视图类负责显示程序数据及用户才操作。可以理解为程序和用户的接口(Ul),这个接口设计的好坏直接影响到用户的体验。ps.非常貌似UT的概念。在这个类中,最常用的函数是OnDraw,这个函数的作用是重绘文档显示的内容,当窗口首次生成、改变大小、拖动的时候,程序都会调用这个方法來重绘界面。另外一个常用的函数是GetDocumnet,这个函用來获取文档的指针,便于访问文档中的数据。函数OnDraw的代码如下:voidCWriterView::OnDraw(CDC*pDC)CWriterDoc*pDoc二GetDocume

5、nt();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahere}在这个函数屮,首先调用GetDocument函数获取到一个文档指针,从而通过pDoc访问文档中的数据。4、框架窗口类CMainFramc框架窗口类负责管理窗口中的菜单、工具栏、状态栏等。通常在OnCreat函数中创建工具栏、状态栏……代码不再贴出。ps.添加一个事件:“视图”一>“建立类向导”,在弹出的窗口中选择工程、选择类名称,在Messages中选择要添加的消息,选中后点击“AddFunction”完成添加,再点击“EdilCode”进行代码编

6、辑。这里所添加的是消息映射(MessageMaps),在Windows编程屮,就是所谓的事件。ID_FILE_ExportID_FILE」mportID_FILE_SAVEID_FILE_SAVE_ASID_FILE_PRINTID_FILE_PRINT_PREVIEWID_User_LoginID_User_AndID_User_DeleteID_User_CancelID_User_EditID_Search_NameID_Search_CustomID_Ware_OutID_Ware」nputID_Ware_EditID_Report_MonthID_Repo

7、rt_YearID_Report_NewID_Data_BackupIDDataRestorationvoidCMainFrame::OnFileExport(){//TODO:Addyourcommandhandlercodehere//MessageBox(_T("导i?入?'));〃设r置?过y滤?器认TCHARszFileExport[]=_T("excel2003(*.xls)l*.xlslexce12007(*.xlsx)l*.xlsxll");〃构1造J导i?出?对?话jaffi"0CFilcDialogfilcDlg(FALSE,_T(”cxcc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。