MFC程序创建源码

MFC程序创建源码

ID:41568832

大小:58.63 KB

页数:6页

时间:2019-08-28

MFC程序创建源码_第1页
MFC程序创建源码_第2页
MFC程序创建源码_第3页
MFC程序创建源码_第4页
MFC程序创建源码_第5页
资源描述:

《MFC程序创建源码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、创建窗口过程:1.AfxWinMain(hInstance,hPrevlnstance,IpCmdLine,nCmdShow);//MFC消息入口函数2.AfxWinMain()3・if(IpThread->lnitInstance())线程初始化进去4.pDocTemplate=newCSingleDocTemplate(IDR.MAINFRAME,〃单文档模板,1•菜单名称,2•文档,3框架,4视图RUNTIME_CLASS(CDemoDoc),RUNTIME_CLASS(CMainFrame),//主S

2、DI框架窗口RUNTIME_CLASS(CDemoView));5・CDocTemplate::CDocTemplate进去然后按F11进基类的构造函数6.LoadTemplate();装载文档模板7.voidCDocTemplate::LoadTemplate()跳出逃到了第4步的继续8.现在在BOOLCDemoApp::InitInstance()里面是第4步的继续->if(!ProcessShelICommand(cmdInfo))调度命令,相当于点击word打开默认filenew新建不让nothing

3、====F1进去注册在这里!!9・在CWinApp::ProcessShellCommand(CCommandLineInfo&rCmdlnfo)里面找至Uif(!AfxGetApp()->OnCmdMsg(ID_FILE_NEW,0,NULL,NULL))这句话是发送一条消息,这条消息最终调用了OnFileNew();10.voidCWinApp::OnFileNew()—>m_pDocManager->OnFileNew();进去11.voidCDocManager::OnFileNew()12.pTem

4、plate->OpenDocumentFile(NULL);进去13.CDocument*CSingleDocTemplate::OpenDocumentFile(LPCTSTRIpszPathName,14.pDocument=CreateNewDocumentO;创建了文档!!以后有用10.pFrame=CreateNewFrame(pDocunient,NULL);创建框架进去11.在CDocTemplate::CreateNewFrame(CDocument*pDoc,CFrameWnd*pOther

5、)里面CFrameWnd*pFrame=(CFrameWnd^Jm-pFrameClass-^reateObjectO;创建框架类对象进入构造函数12.CFrameWnd::CFrameWnd()出去CMainFrame::CMainFrame()我们可以确定在16里面创建的是CMainFrame这个对象,然后出去13.在CDocTemplate::Ci*eateNewFrame(里面找到代码,其实是16的继续if(!pFrame->LoadFrame(m_nIDResource,WS_OVERLAPPEDW

6、INDOW

7、FWS_ADDTOTITLE,NULL,&context))进去14.BOOLCFrameWnd::LoadFrame(UINTnIDResource,DWORDdwDefaultStyle,CWnd*pParentWnd,CCreateContext*pContext)15.LPCTSTRIpszCIass=GetIconWndClass(dwDefaultStyle,nIDResource);进去作用:在这个函数里面注册了窗口类,然后把窗口类的名称返回16.HICONhlcon=::Loadl

8、con(hlnst,ATL_MAKEINTRESOURCE(nIDResource));加载图标17.PreCreateWindow(cs);因为这个方法是个虚函数,所以我们得根据this是谁才能判断调用的是哪个函数现在的this是CMainFrame18.BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs)将来我们可以在这个函数里面设置窗口类的属性很重要!!!19.BOOLCFrameWnd::PreCreateWindow(CREATESTRUCT&cs)在这个

9、函数里面设置了默认的样式,然后跳出,然后跳出,回到了第20步的继续20.在LPCTSTRCFrameWnd::GetIconWndClass(DWORDdwDefaultStyle,里面有代码->WNDCLASSwndcls;看这里:AfxCtxGetClassInfo(AfxGetInstanceHandle(),cs.lpszClass,&wndcls)&&判断类是否存在进去找了一遍,没有发现注

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

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

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