MFC单文档视图穷追猛打

MFC单文档视图穷追猛打

ID:39466193

大小:49.00 KB

页数:9页

时间:2019-07-04

MFC单文档视图穷追猛打_第1页
MFC单文档视图穷追猛打_第2页
MFC单文档视图穷追猛打_第3页
MFC单文档视图穷追猛打_第4页
MFC单文档视图穷追猛打_第5页
资源描述:

《MFC单文档视图穷追猛打》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MFC单文档视图穷追猛打目录第一章找回WinMain函数 2第二章InitApplication()函数 2第三章InitInstance()函数 3第一节:newCSingleDocTemplate 3第二节:AddDocTemplate(pDocTemplate); 5第三节:ProcessShellCommand(cmdInfo) 5第一段AfxGetApp()->OnCmdMsg(…) 6第二段OnFileNew(); 6第四节:m_pMainWnd->ShowWindow(SW_SHOW);///显示窗口 8第五节:m_pMainWnd-

2、>UpdateWindow();///重画窗口 8第四章pApp->Run函数 8第五章总结 8 本文将针对一个单文档来描述MFC的文档/视图结构,他直接打开MFC的源代码进行分析,在分析过程中去掉了无关的部分。所以第一步就是要创建一个称为First得工程,文档类型是单文档,下文将围绕这个工程来讲的。第一章找回WinMain函数首先在VC的安装路径中找到WINMAIN.CPP文件,AfxWinMain函数就是VC编译器的入口,去掉一些不重要的东西后得到如下得程序。intAFXAPIAfxWinMain(HINSTANCEhInstance,HINS

3、TANCEhPrevInstance,LPTSTRlpCmdLine,intnCmdShow){intnReturnCode=-1;CWinApp*pApp=AfxGetApp();///获取应用程序类的指针与文档视图无关。AfxWinInit(hInstance,hPrevInstance,lpCmdLine,nCmdShow);///与文档视图无关。pApp->InitApplication(); ///初始化应用程序详见下文。pApp->InitInstance();    ///最重要下面祥述nReturnCode=pApp->Run();

4、///消息循环直到应用程序被关闭。与文档视图无关。AfxWinTerm();     ///与文档视图无关。returnnReturnCode;///整个应用结束。}下面分节讲述。第二章InitApplication()函数在文件Appcore.cpp文件中InitApplication如下:BOOLCWinApp::InitApplication(){ if(CDocManager::pStaticDocManager!=NULL)  ///这段和我们关系不大,暂时不理它 {  if(m_pDocManager==NULL)   m_pDocMa

5、nager=CDocManager::pStaticDocManager;  CDocManager::pStaticDocManager=NULL; } if(m_pDocManager!=NULL)  m_pDocManager->AddDocTemplate(NULL); else  CDocManager::bStaticInit=FALSE; /*我们的程序将会执行到这句,表示文档类用动态方式创建,也就是说用RUNTIME_CLASS来创建的(详见下文)。*/ returnTRUE;} 说明:CDocManager类是一个不公开的类,他主

6、要用来管理多文档模板对象的,对于单文档只有一个文档模板这个类不是很重要,但还是用它管理文档模板的;本文只在相关之处作说明。bStaticInit是它的一个静态成员。第三章InitInstance()函数 它一般被重载,在First工程中,InitInstance中和文档视图类有关的程序有下面的一些: CSingleDocTemplate*pDocTemplate; ///定义指针 pDocTemplate=newCSingleDocTemplate(  IDR_MAINFRAME,  RUNTIME_CLASS(CFirstDoc),  RUNTI

7、ME_CLASS(CMainFrame),  RUNTIME_CLASS(CFirstView));   ///这条语句的作用见第一段 AddDocTemplate(pDocTemplate); CCommandLineInfocmdInfo;   ///定义一个对象 ParseCommandLine(cmdInfo);   ///解析命令行并发送参数,与文档视图无关 if(!ProcessShellCommand(cmdInfo))  ///这是最重要的详见的三段  returnFALSE; m_pMainWnd->ShowWindow(SW_S

8、HOW);     ///显示窗口 m_pMainWnd->UpdateWindow();第一节:newCSingleDo

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

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

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