<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <!– saved from url=(0041)http://www.jizhuomi.com/software/145.html –> <HTML lang=zh-CN xml:lang="zh-CN" xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>VS2010/MFC编程入门之四(MFC应用程序框架分析)-软件开发-鸡啄米</TITLE> <META content="上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。这一节鸡啄米就为大家分析下MFC应用程序框架的运行流程。 SDK应用程序与MFC应用程序运行过程的对比…" name=description> <META content=编程入门,VC++,MFC,VS2010,鸡啄米,IT name=keywords> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <META http-equiv=Content-Language content=zh-CN> <META content="MSHTML 6.00.2900.6266" name=GENERATOR><LINK href=https://download.csdn.net/download/lintaogao/"04 MFC应用程序框架分析.files/style.css" type=text/css rel=stylesheet><LINK title="Comments Feed for VS2010/MFC编程入门之四(MFC应用程序框架分析)" href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/feed.asp?cmt=145" type=application/rss+xml rel=alternate><LINK title="RSS 2.0" href=https://download.csdn.net/download/lintaogao/"http://feed.feedsky.com/jizhuomi" type=application/rss+xml rel=alternate> <SCRIPT src=https://download.csdn.net/download/lintaogao/"04 MFC应用程序框架分析.files/common.js" type=text/javascript></SCRIPT>

<SCRIPT src=https://download.csdn.net/download/lintaogao/"04 MFC应用程序框架分析.files/c_html_js_add.asp" type=text/javascript></SCRIPT> <LINK href=https://download.csdn.net/download/lintaogao/"04 MFC应用程序框架分析.files/insertCode.css" type=text/css rel=stylesheet></HEAD> <BODY class=single> <DIV id=header-wrapper> <DIV id=header> <H1 id=BlogTitle><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/">鸡啄米</A></H1> <DIV id=SubTitleLine> <H2 id=BlogSubTitle>聚焦互联网、数码、软件开发和编程入门的IT休闲吧</H2> <DIV id=rss><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/rss.xml" target=_blank><IMG height=14 alt="订阅本站的 RSS 2.0 新闻聚合" src=https://download.csdn.net/download/lintaogao/"04 MFC应用程序框架分析.files/xml.gif" width=36 border=0>RSS订阅</A></DIV></DIV></DIV></DIV><!– END HEADER-WRAPPER –> <DIV id=navigation-wrapper> <DIV id=navigation> <UL> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/">首页</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/internet/">IT互联网</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/digital/">数码生活</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/software/">软件开发</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/career/">职场人生</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/leisure/">娱乐休闲</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/android/" target=_blank>安卓开发</A> </LI> <LI><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/guestbook.asp">留言簿</A> </LI></UL></DIV></DIV><!– END NAVIGATION-WRAPPER –> <DIV id=wrapper> <DIV id=main> <DIV class="post cate3 auth1"> <DIV id=crumbs-wrapper> <DIV id=crumbs><A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/">首页</A> <SPAN class=delimiter>»</SPAN> <A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/software/">软件开发</A> <SPAN class=delimiter>»</SPAN> <SPAN class=current>VS2010/MFC编程入门之四(MFC应用程序框架分析)</SPAN></DIV></DIV> <DIV class=title-text> <H2>VS2010/MFC编程入门之四(MFC应用程序框架分析)</H2> <H5 class=post-tags>分类标签: <A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/catalog.asp?tags=%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8">编程入门</A>&nbsp;&nbsp;<A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/catalog.asp?tags=VC%EF%BC%8B%EF%BC%8B">VC++</A>&nbsp;&nbsp;<A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/catalog.asp?tags=MFC">MFC</A>&nbsp;&nbsp;<A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/catalog.asp?tags=VS2010">VS2010</A>&nbsp;&nbsp;</H5></DIV> <DIV class=post-content> <DIV style="MARGIN-TOP: 10px; FLOAT: left; MARGIN-RIGHT: 10px"> <SCRIPT type=text/javascript>/*300250,创建于2011-10-7/ var cpro_id = ‘u’;</SCRIPT>
<SCRIPT src=https://download.csdn.net/download/lintaogao/"04 MFC应用程序框架分析.files/c.js" type=text/javascript></SCRIPT> </DIV> <P> 上一讲鸡啄米讲的是<A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/software/143.html" target=_blank>VS2010应用程序工程中文件的组成结构</A>,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。这一节鸡啄米就为大家分析下MFC应用程序框架的运行流程。</P> <P> <STRONG><SPAN style="FONT-SIZE: medium">一.SDK应用程序与MFC应用程序运行过程的对比</SPAN></STRONG></P> <P> 程序运行都要有入口函数,在之前的C++教程中都是main函数,而Windows应用程序的入口函数是WinMain函数,MFC程序也是从WinMain函数开始的。下面鸡啄米就给出用Windows SDK写的“HelloWorld”程序,与应用程序框架进行对比,这样能更好的了解框架是怎样运行的。Windows SDK开发程序就是不使用MFC类库,直接用Windows API函数进行<A href=https://download.csdn.net/download/lintaogao/"http://www.jizhuomi.com/" target=_blank>软件开发</A>。鸡啄米不是要讲解SDK开发,只是为了对比而简单介绍,至于SDK开发可以在大家学完MFC以后选择是否要研究,一般来说有简单了解就可以了。</P> <P> <STRONG>SDK应用程序</STRONG></P> <P> 首先,给出Windows SDK应用程序“HelloWorld”的源码: </P> <DIV class=codeText> <DIV class=codeHead style="TEXT-ALIGN: left">C++代码</DIV> <OL class=dp-cpp> <LI class=alt style="TEXT-ALIGN: left"><SPAN><SPAN>include <windows> </SPAN></SPAN><SPAN> </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN> </SPAN> <LI style="TEXT-ALIGN: left"><SPAN class=datatypes>int</SPAN><SPAN> WINAPI WinMain(</SPAN><SPAN class=datatypes>HINSTANCE</SPAN><SPAN> hInstance, </SPAN><SPAN class=datatypes>HINSTANCE</SPAN><SPAN> hPrevInstance, </SPAN><SPAN class=datatypes>PSTR</SPAN><SPAN> szCmdLine, </SPAN><SPAN class=datatypes>int</SPAN><SPAN> iCmdShow) </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN>{ </SPAN> <LI style="TEXT-ALIGN: left"><SPAN> </SPAN><SPAN class=keyword>const</SPAN><SPAN> </SPAN><SPAN class=keyword>static</SPAN><SPAN> </SPAN><SPAN class=datatypes>TCHAR</SPAN><SPAN> appName[] = TEXT(</SPAN><SPAN class=string>"Hello world"</SPAN><SPAN>); </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN> WNDCLASSEX myWin; </SPAN> <LI style="TEXT-ALIGN: left"><SPAN> myWin.cbSize = </SPAN><SPAN class=keyword>sizeof</SPAN><SPAN>(myWin); </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN> myWin.style = CS_HREDRAW | CS_VREDRAW; </SPAN> <LI style="TEXT-ALIGN: left"><SPAN> myWin.lpfnWndProc = myWndProc; </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN> myWin.cbClsExtra = 0; </SPAN> <LI style="TEXT-ALIGN: left"><SPAN> myWin.cbWndExtra = 0; </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN> myWin.hInstance = hInstance; </SPAN> <LI style="TEXT-ALIGN: left"><SPAN> myWin.hIcon = 0; </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN> myWin.hIconSm = 0; </SPAN> <LI style="TEXT-ALIGN: left"><SPAN> myWin.hCursor = 0; </SPAN> <LI class=alt style="TEXT-ALIGN: left"><SPAN>&

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/193740.html