<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/626678dc4f8811599eb3a35a/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626678dc4f8811599eb3a35a/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">V<span class="_ _0"></span>isual C++ MFC <span class="ff2 sc1">简明教程</span></div><div class="t m0 x2 h4 y3 ff2 fs1 fc0 sc0 ls0 ws0">原著:<span class="ff3">Marshall Brain </span>编译:张圣华</div><div class="t m0 x3 h5 y4 ff2 fs2 fc1 sc2 ls0 ws0">第一部分:<span class="ff1 sc0">MFC<span class="_ _1"> </span></span>导论</div><div class="t m0 x4 h4 y5 ff3 fs1 fc0 sc0 ls0 ws0"> V<span class="_ _0"></span>isual C++ <span class="ff2">不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利</span></div><div class="t m0 x5 h4 y6 ff2 fs1 fc0 sc0 ls0 ws0">用具有面向对象特性的<span class="ff3"> C++ </span>来开发出专业级的<span class="ff3"> W<span class="_ _2"></span>indows <span class="ff2">应用程序。为了能充分利用这些</span></span></div><div class="t m0 x6 h4 y7 ff2 fs1 fc0 sc0 ls0 ws0">特性,你必须理解<span class="ff3"> C++ </span>程序设计语言。掌握了<span class="_ _3"> </span><span class="ff3">C++</span>,你就必须掌握<span class="ff3"> Microsoft </span>基本类库</div><div class="t m0 x7 h4 y8 ff3 fs1 fc0 sc0 ls0 ws0">(MFC) <span class="ff2">的层次结构。该层次</span> <span class="ff2">结构包容了</span> W<span class="_ _2"></span>indows <span class="_ _0"></span>API <span class="ff2">中的用户界面部分,并使你能够很容</span></div><div class="t m0 x7 h4 y9 ff2 fs1 fc0 sc0 ls0 ws0">易地以面向对象的方式建立<span class="ff3"> W<span class="_ _2"></span>indows <span class="ff2">应用程序。这种层次结构适用于所有版本的</span> W<span class="_ _2"></span>indows</span></div><div class="t m0 x8 h4 ya ff2 fs1 fc0 sc0 ls0 ws0">并彼此兼容。你用<span class="ff3"> MFC </span>所建立的代码是完全可移植的。</div><div class="t m0 x9 h4 yb ff2 fs1 fc0 sc0 ls0 ws0">该教程将向你介绍<span class="_ _3"> </span><span class="ff3">MFC<span class="_ _3"> </span></span>的基本概念和术语以及事件驱动程序设计方法。在本节中,你</div><div class="t m0 xa h4 yc ff2 fs1 fc0 sc0 ls0 ws0">将会输入、编译和运行一个简单的<span class="_ _3"> </span><span class="ff3">MFC<span class="_ _3"> </span></span>程序。下一节中将向你详细解释这些代码。第三部</div><div class="t m0 xa h4 yd ff2 fs1 fc0 sc0 ls0 ws0">分讨论了<span class="_ _3"> </span><span class="ff3">MFC<span class="_ _3"> </span></span>控制和如何定制它们。第四部分将介绍消息映射,你将会处理<span class="_ _4"> </span><span class="ff3">MFC<span class="_ _3"> </span></span>的事件。</div><div class="t m0 xa h6 ye ff2 fs3 fc2 sc3 ls0 ws0">什么是<span class="_ _3"> </span><span class="ff1 sc0">MFC?</span></div><div class="t m0 x9 h4 yf ff2 fs1 fc0 sc0 ls0 ws0">如果你要建立一个<span class="ff3"> W<span class="_ _2"></span>indows <span class="ff2">应用程序,应该如何下手?</span></span></div><div class="t m0 x9 h4 y10 ff2 fs1 fc0 sc0 ls0 ws0">好的<span class="_ _5"></span>开端<span class="_ _5"></span>是从<span class="_ _5"></span>设计<span class="_ _5"></span>用户<span class="_ _5"></span>界面<span class="_ _5"></span>开始<span class="_ _5"></span>。首<span class="_ _5"></span>先,<span class="_ _5"></span>你要<span class="_ _5"></span>决定<span class="_ _5"></span>什么<span class="_ _5"></span>样的<span class="_ _5"></span>用户<span class="_ _5"></span>能使<span class="_ _5"></span>用该<span class="_ _5"></span>程序<span class="_ _5"></span>并根<span class="_ _5"></span>据</div><div class="t m0 xa h4 y11 ff2 fs1 fc0 sc0 ls0 ws0">需要<span class="_ _5"></span>来设<span class="_ _5"></span>置相<span class="_ _5"></span>应的<span class="_ _5"></span>用户<span class="_ _5"></span>界面<span class="_ _5"></span>对象<span class="_ _5"></span>。<span class="_ _5"></span><span class="ff3">W<span class="_ _2"></span>indows <span class="ff2">用<span class="_ _5"></span>户界<span class="_ _5"></span>面有<span class="_ _5"></span>一些<span class="_ _5"></span>标准<span class="_ _5"></span>的控<span class="_ _5"></span>制,<span class="_ _5"></span>如按<span class="_ _5"></span>钮、<span class="_ _5"></span>菜单<span class="_ _5"></span>、</span></span></div><div class="t m0 xa h4 y12 ff2 fs1 fc0 sc0 ls0 ws0">滚动条和列表等,这对那些<span class="ff3"> W<span class="_ _2"></span>indows <span class="ff2">用户已经是很熟悉了。</span> <span class="ff2">要记住的是,作为程序员必须</span></span></div><div class="t m0 xa h4 y13 ff2 fs1 fc0 sc0 ls0 ws0">选择<span class="_ _5"></span>一组<span class="_ _5"></span>控制<span class="_ _5"></span>并决<span class="_ _5"></span>定如<span class="_ _5"></span>何把<span class="_ _5"></span>它们<span class="_ _5"></span>安排<span class="_ _5"></span>到屏<span class="_ _5"></span>幕上<span class="_ _5"></span>。传<span class="_ _5"></span>统上<span class="_ _5"></span>,你<span class="_ _5"></span>需要<span class="_ _5"></span>在纸<span class="_ _5"></span>上做<span class="_ _5"></span>一下<span class="_ _5"></span>用户<span class="_ _5"></span>界面<span class="_ _5"></span>的</div><div class="t m0 xa h4 y14 ff2 fs1 fc0 sc0 ls0 ws0">草图<span class="_ _5"></span>,直<span class="_ _5"></span>到对<span class="_ _5"></span>各元<span class="_ _5"></span>素感<span class="_ _5"></span>到满<span class="_ _5"></span>意为<span class="_ _5"></span>止。<span class="_ _5"></span>这对<span class="_ _5"></span>于一<span class="_ _5"></span>些比<span class="_ _5"></span>较小<span class="_ _5"></span>的项<span class="_ _5"></span>目,<span class="_ _5"></span>以及<span class="_ _5"></span>一些<span class="_ _5"></span>大项<span class="_ _5"></span>目的<span class="_ _5"></span>早期<span class="_ _5"></span>原</div><div class="t m0 xa h4 y15 ff2 fs1 fc0 sc0 ls0 ws0">型阶段是可以的。</div><div class="t m0 x9 h4 y16 ff2 fs1 fc0 sc0 ls0 ws0">下一步,是<span class="_ _5"></span>要实现代码。<span class="_ _5"></span>为任何<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>W<span class="_ _2"></span>indows <span class="ff2">平台建立<span class="_ _5"></span>应用程序时,<span class="_ _5"></span>程序员都有两<span class="_ _5"></span>种选择<span class="_ _6"></span>:</span></span></div><div class="t m0 xa h4 y17 ff3 fs1 fc0 sc0 ls0 ws0">C <span class="_ _5"></span><span class="ff2">或<span class="_ _5"></span></span> <span class="_ _5"></span>C++<span class="_ _5"></span><span class="ff2">。</span> <span class="_ _5"></span><span class="ff2">使<span class="_ _5"></span>用</span> <span class="_ _5"></span>C<span class="_ _5"></span><span class="ff2">,<span class="_ _5"></span>程序<span class="_ _5"></span>员<span class="_ _5"></span>是在<span class="_ _5"></span></span> <span class="_ _5"></span>Wi<span class="_ _2"></span>ndows <span class="_ _5"></span><span class="ff2">应<span class="_ _5"></span>用程<span class="_ _5"></span>序<span class="_ _5"></span>界面<span class="_ _6"></span></span> ( <span class="_ _5"></span>API )<span class="_ _5"></span> <span class="_ _5"></span><span class="ff2">的<span class="_ _5"></span>水<span class="_ _5"></span>平上<span class="_ _5"></span>编<span class="_ _5"></span>写代<span class="_ _5"></span>码<span class="_ _5"></span>。该<span class="_ _5"></span>界</span></div><div class="t m0 xa h4 y18 ff2 fs1 fc0 sc0 ls0 ws0">面<span class="_ _7"></span>是<span class="_ _7"></span>由<span class="_ _7"></span>几<span class="_ _7"></span>百<span class="_ _7"></span>个<span class="_ _8"></span><span class="ff3"> <span class="_ _7"></span>C<span class="_ _7"></span> <span class="_ _7"></span></span>函<span class="_ _7"></span>数<span class="_ _7"></span>所<span class="_ _7"></span>组<span class="_ _7"></span>成<span class="_ _7"></span>,<span class="_ _7"></span>这<span class="_ _7"></span>些<span class="_ _7"></span>函<span class="_ _7"></span>数<span class="_ _7"></span>在<span class="_ _9"> </span><span class="ff3">W<span class="_ _2"></span>indows<span class="_ _5"></span> API<span class="_ _7"></span> <span class="_ _7"></span><span class="ff2">参<span class="_ _7"></span>考<span class="_ _7"></span>手<span class="_ _7"></span>册<span class="_ _7"></span>中<span class="_ _7"></span>都<span class="_ _7"></span>有<span class="_ _7"></span>介<span class="_ _7"></span>绍<span class="_ _7"></span>。<span class="_ _7"></span>对<span class="_ _7"></span>于</span></span></div><div class="t m0 xa h4 y19 ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows NT<span class="_ _0"></span>, <span class="_ _0"></span>API <span class="ff2">被称为</span> <span class="ff2">“</span>Wi<span class="_ _2"></span>n32 <span class="_ _2"></span>API<span class="ff4">”<span class="ff2">,以区别于其用于<span class="_ _4"> </span></span></span>W<span class="_ _2"></span>indows 3.1<span class="_ _3"> </span><span class="ff2">的<span class="_ _4"> </span></span>16<span class="_ _3"> </span><span class="ff2">位</span> API<span class="ff2">。</span></div><div class="t m0 x9 h4 y1a ff3 fs1 fc0 sc0 ls0 ws0">Microsoft<span class="_ _5"></span> <span class="_ _5"></span><span class="ff2">也<span class="_ _5"></span>提<span class="_ _5"></span>供<span class="_ _5"></span>了<span class="_ _5"></span></span> <span class="_ _6"></span>C++ <span class="_ _6"></span><span class="ff2">库<span class="_ _5"></span>,<span class="_ _5"></span>它<span class="_ _5"></span>位<span class="_ _5"></span>于<span class="_ _5"></span>任<span class="_ _5"></span>何<span class="_ _5"></span></span> <span class="_ _5"></span>Win<span class="_ _2"></span>dows API <span class="_ _5"></span><span class="ff2">之<span class="_ _5"></span>上<span class="_ _5"></span>,<span class="_ _5"></span>能<span class="_ _5"></span>够<span class="_ _5"></span>使<span class="_ _5"></span>程<span class="_ _5"></span>序<span class="_ _5"></span>员<span class="_ _5"></span>的<span class="_ _5"></span>工<span class="_ _5"></span>作<span class="_ _5"></span>更</span></div><div class="t m0 xa h7 y1b ff2 fs1 fc0 sc0 ls0 ws0">容易。它就<span class="_ _5"></span>是<span class="_ _4"> </span><span class="ff3">Micro<span class="_ _5"></span>soft<span class="_ _3"> </span></span>基本类库<span class="ff3"> (MFC)<span class="_ _5"></span></span>,该库的主<span class="_ _5"></span>要优<span class="ff5">点</span>是<span class="ff5">效率<span class="_ _5"></span>高</span>。它<span class="ff5">减少</span>了<span class="_ _5"></span>大<span class="ff5">量</span>在建立</div><div class="t m0 xa h7 y1c ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows <span class="ff2">程序时必须编<span class="_ _5"></span>写的代码。<span class="_ _5"></span><span class="ff5">同</span>时它<span class="ff5">还</span>提<span class="_ _5"></span>供了所有一<span class="ff5">般<span class="_ _5"></span></span></span> <span class="_ _5"></span>C++ <span class="ff2">编程<span class="_ _5"></span>的优<span class="ff5">点</span>,<span class="ff5">例</span>如<span class="_ _5"></span><span class="ff5">继承</span>和</span></div><div class="t m0 xa h7 y1d ff5 fs1 fc0 sc0 ls0 ws0">封<span class="_ _7"></span>装<span class="_ _7"></span><span class="ff2">。<span class="_ _8"> </span><span class="ff3">MFC<span class="_ _8"> </span> <span class="_ _7"></span></span>是<span class="_ _7"></span>可<span class="_ _8"></span>移<span class="_ _7"></span>植<span class="_ _8"></span>的<span class="_ _7"></span>,<span class="_ _7"></span></span>例<span class="_ _8"> </span><span class="ff2">如<span class="_ _7"></span>,<span class="_ _8"></span>在<span class="_ _8"> </span><span class="ff3"> <span class="_ _8"> </span>W<span class="_ _2"></span>indows<span class="_ _5"></span> <span class="_ _6"></span>3.1<span class="_ _a"> </span><span class="ff2">下<span class="_ _7"></span>编<span class="_ _7"></span>写<span class="_ _8"></span>的<span class="_ _7"></span>代<span class="_ _7"></span>码<span class="_ _8"> </span>可<span class="_ _7"></span>以<span class="_ _8"></span>很<span class="_ _7"></span>容<span class="_ _7"></span>易<span class="_ _8"></span>地<span class="_ _7"></span>移<span class="_ _8"></span>植<span class="_ _7"></span>到</span></span></span></div><div class="t m0 xa h7 y1e ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows NT <span class="_ _5"></span><span class="ff2">或<span class="_ _5"></span></span> <span class="_ _5"></span>Wi<span class="_ _2"></span>ndows 9<span class="_ _5"></span>5 <span class="_ _6"></span><span class="ff2">上。<span class="_ _5"></span><span class="ff5">因<span class="_ _5"></span></span>此<span class="_ _5"></span>,<span class="_ _5"></span></span>MFC<span class="_ _5"></span> <span class="_ _5"></span><span class="ff2">很<span class="_ _5"></span><span class="ff5">值<span class="_ _5"></span>得推<span class="_ _5"></span>荐<span class="_ _5"></span></span>的<span class="_ _5"></span>开<span class="_ _5"></span>发<span class="_ _3"> </span></span>Windows <span class="_ _5"></span><span class="ff2">应<span class="_ _5"></span>用<span class="_ _5"></span>程序<span class="_ _5"></span>的<span class="_ _5"></span>方<span class="_ _5"></span>法<span class="_ _5"></span>,</span></div><div class="t m0 xa h7 y1f ff2 fs1 fc0 sc0 ls0 ws0">在本教程<span class="ff5">自</span>始<span class="ff5">至终</span>使用的都是<span class="ff3"> MFC</span>。</div><div class="t m0 x9 h7 y20 ff5 fs1 fc0 sc0 ls0 ws0">当<span class="_ _5"></span><span class="ff2">是使<span class="_ _5"></span>用<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>M<span class="_ _5"></span>FC<span class="_ _5"></span> <span class="_ _5"></span></span>时,<span class="_ _5"></span>你<span class="_ _5"></span>编<span class="_ _5"></span>写<span class="_ _5"></span>的<span class="_ _5"></span>代码<span class="_ _5"></span>是<span class="_ _5"></span>用<span class="_ _5"></span>来<span class="_ _5"></span>建<span class="_ _5"></span>立<span class="_ _5"></span>必<span class="_ _5"></span>要的<span class="_ _5"></span>用<span class="_ _5"></span>户<span class="_ _5"></span>界<span class="_ _5"></span>面<span class="_ _5"></span>控制<span class="_ _5"></span>并<span class="_ _5"></span>定<span class="_ _5"></span>制<span class="_ _5"></span>其<span class="_ _6"></span></span>外观<span class="_ _5"></span><span class="ff2">。<span class="_ _5"></span></span>同</div><div class="t m0 xa h7 y21 ff2 fs1 fc0 sc0 ls0 ws0">时你<span class="_ _5"></span><span class="ff5">还</span>要<span class="_ _5"></span>编写<span class="_ _5"></span>用来<span class="_ _5"></span><span class="ff5">响<span class="_ _5"></span></span>应用<span class="_ _5"></span>户<span class="ff5">操<span class="_ _5"></span></span>作这<span class="_ _5"></span>些控<span class="_ _5"></span>制的<span class="_ _5"></span>代码<span class="_ _5"></span>。<span class="ff5">例<span class="_ _5"></span></span>如,<span class="_ _5"></span>如果<span class="_ _5"></span>用户<span class="_ _5"></span>单<span class="ff5">击<span class="_ _5"></span></span>一<span class="_ _5"></span>个按<span class="_ _5"></span>钮时<span class="_ _5"></span>,你<span class="_ _5"></span>应</div><div class="t m0 xa h7 y22 ff2 fs1 fc0 sc0 ls0 ws0">该有<span class="_ _5"></span>代码<span class="_ _5"></span>来<span class="ff5">响<span class="_ _5"></span></span>应。<span class="_ _5"></span>这就<span class="_ _5"></span>是事<span class="_ _5"></span>件驱<span class="_ _5"></span>动代<span class="_ _5"></span>码,<span class="_ _5"></span>它构<span class="_ _5"></span>成了<span class="_ _5"></span>所有<span class="_ _5"></span>应用<span class="_ _5"></span>程序<span class="_ _5"></span>。一<span class="_ _5"></span><span class="ff5">旦<span class="_ _5"></span></span>应<span class="_ _5"></span>用程<span class="_ _5"></span>序<span class="ff5">正<span class="_ _5"></span>确</span>的<span class="_ _5"></span><span class="ff5">响</span></div><div class="t m0 xa h7 y23 ff2 fs1 fc0 sc0 ls0 ws0">应了所有<span class="ff5">允许</span>的控制,它的任<span class="ff5">务</span>也就完成了。</div><div class="t m0 x9 h7 y24 ff2 fs1 fc0 sc0 ls0 ws0">你可<span class="_ _5"></span>以<span class="ff5">看<span class="_ _5"></span></span>出,<span class="_ _5"></span>使用<span class="_ _6"></span><span class="ff3"> <span class="_ _5"></span>MFC <span class="_ _5"></span><span class="ff5">进</span></span>行<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>W<span class="_ _2"></span>indows <span class="_ _5"></span><span class="ff2">编程<span class="_ _5"></span>时是<span class="_ _5"></span>一件<span class="_ _5"></span>比较<span class="_ _5"></span>容易<span class="_ _5"></span>的的<span class="_ _5"></span><span class="ff5">过</span>程<span class="_ _5"></span>。本<span class="_ _5"></span>教程<span class="_ _5"></span>的目</span></span></div><div class="t m0 xa h7 y25 ff2 fs1 fc0 sc0 ls0 ws0">的是<span class="_ _5"></span>比<span class="_ _5"></span>较详<span class="_ _5"></span>细<span class="_ _5"></span>地教<span class="_ _5"></span>你<span class="_ _5"></span>如何<span class="_ _5"></span><span class="ff5">快<span class="_ _5"></span>速<span class="_ _5"></span></span>建立<span class="_ _5"></span>专<span class="_ _5"></span>业级<span class="_ _5"></span>的<span class="_ _5"></span>应用<span class="_ _5"></span>程<span class="_ _5"></span>序的<span class="_ _6"></span><span class="ff5">技</span>术<span class="_ _5"></span>。<span class="_ _5"></span><span class="ff3">V<span class="_ _2"></span>i<span class="_ _2"></span>sual <span class="_ _5"></span>C++ <span class="_ _5"></span><span class="ff2">应<span class="_ _5"></span>用<span class="_ _5"></span>程序<span class="_ _5"></span>开<span class="_ _5"></span>发程</span></span></div><div class="t m0 xa h7 y26 ff2 fs1 fc0 sc0 ls0 ws0">序环<span class="_ _5"></span>境特<span class="_ _5"></span>别适<span class="_ _5"></span><span class="ff5">合</span>于<span class="_ _5"></span>使用<span class="_ _6"></span><span class="ff3"> MFC (<span class="_ _5"></span></span>也有<span class="_ _5"></span>其它<span class="_ _5"></span>开发<span class="_ _5"></span>环境<span class="_ _5"></span>使用<span class="_ _1"> </span><span class="ff3">MFC</span>,译<span class="_ _5"></span><span class="ff5">者注<span class="_ _5"></span><span class="ff3">)<span class="_ _5"></span></span></span>,所<span class="_ _5"></span>以一<span class="_ _5"></span><span class="ff5">起学<span class="_ _5"></span>习<span class="_ _5"></span><span class="ff3"> MFC</span></span></div><div class="t m0 xa h7 y27 ff2 fs1 fc0 sc0 ls0 ws0">和<span class="ff3"> V<span class="_ _0"></span>isual C++ <span class="_ _5"></span><span class="ff2">能够<span class="ff5">增强</span>你的开发程序的能<span class="ff5">力</span>。</span></span></div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626678dc4f8811599eb3a35a/bg2.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 xa h8 y28 ff1 fs3 fc2 sc0 ls0 ws0">Window<span class="_ _2"></span>s<span class="_ _b"> </span><span class="ff5 sc3">词汇</span></div><div class="t m0 x9 h7 y29 ff2 fs1 fc0 sc0 ls0 ws0">在<span class="ff3"> Wi<span class="_ _2"></span>ndows <span class="ff2">用户<span class="_ _5"></span>界面和<span class="ff5">软</span>件开<span class="_ _5"></span>发中所要用到<span class="_ _5"></span>的<span class="ff5">词汇</span>都<span class="_ _5"></span>是基本和<span class="ff5">唯</span>一<span class="_ _5"></span>的。对于<span class="ff5">新接<span class="_ _5"></span>触</span>该</span></span></div><div class="t m0 xa h7 y3 ff2 fs1 fc0 sc0 ls0 ws0">环境的用户,下面<span class="ff5">复习</span>几个定<span class="ff5">义</span>以<span class="ff5">便</span>使<span class="ff5">我</span>们的讨论更<span class="ff5">加</span>容易。</div><div class="t m0 x9 h4 y2a ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows<span class="_ _4"> </span><span class="ff2">应用程序使用几个标准的控制</span>:</div><div class="t m0 x9 h7 y2b ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff5">静态文<span class="ff2">本标</span>签</span></div><div class="t m0 x9 h4 y2c ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff2">按钮<span class="ff3"> </span></span></div><div class="t m0 x9 h7 y2d ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff2">列表<span class="ff5">框<span class="ff3"> </span></span></span></div><div class="t m0 x9 h7 y5 ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff2">组<span class="ff5">合框<span class="ff3">(</span></span>一种更<span class="ff5">高</span>级的列表<span class="ff5">框<span class="ff3">) </span></span></span></div><div class="t m0 x9 h4 y6 ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff2">单选按钮<span class="ff3"> </span></span></div><div class="t m0 x9 h7 y7 ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff5">检查<span class="ff2">按钮<span class="ff3"> </span></span></span></div><div class="t m0 x9 h7 y8 ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff2">编<span class="ff5">辑框<span class="ff3">(</span></span>单行和<span class="ff5">多</span>行<span class="ff3">) </span></span></div><div class="t m0 x9 h4 y9 ff6 fs1 fc0 sc0 ls0 ws0"><span class="_ _c"> </span><span class="ff2">滚动条</span></div><div class="t m0 x9 h7 yb ff2 fs1 fc0 sc0 ls0 ws0">你<span class="_ _5"></span>可以<span class="_ _5"></span><span class="ff5">通<span class="_ _5"></span>过<span class="_ _5"></span></span>代<span class="_ _5"></span>码<span class="_ _5"></span>或<span class="_ _5"></span>“<span class="_ _5"></span><span class="ff5">资源<span class="_ _6"></span></span>编<span class="ff5">辑<span class="_ _5"></span></span>器<span class="_ _5"></span><span class="ff5">”<span class="_ _5"></span></span>来<span class="_ _5"></span>建立<span class="_ _5"></span>这<span class="_ _5"></span>些<span class="_ _5"></span>控<span class="_ _5"></span>制<span class="_ _5"></span>,在<span class="_ _6"></span><span class="ff5">资源<span class="_ _5"></span></span>编<span class="_ _5"></span><span class="ff5">辑<span class="_ _5"></span></span>器<span class="_ _5"></span>中<span class="_ _5"></span>可以<span class="_ _5"></span>建<span class="_ _5"></span>立<span class="_ _5"></span>对<span class="_ _5"></span><span class="ff5">话<span class="_ _5"></span>框<span class="_ _5"></span></span>和</div><div class="t m0 xa h7 yc ff2 fs1 fc0 sc0 ls0 ws0">这些控制。在本教程中,<span class="ff5">我</span>们将使用代码来建立它们。</div><div class="t m0 x9 h7 yd ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows<span class="_ _4"> </span><span class="ff5">支<span class="_ _5"></span>持<span class="ff2">几种类型的<span class="_ _5"></span>应用程序</span>窗口<span class="_ _5"></span><span class="ff2">。一个</span>典<span class="ff2">型的<span class="_ _5"></span>应用程序应该<span class="_ _5"></span></span>活<span class="ff2">动在称<span class="_ _5"></span>为“</span>框架窗</span></div><div class="t m0 xa h7 y2e ff5 fs1 fc0 sc0 ls0 ws0">口<span class="_ _6"></span>”<span class="_ _6"></span><span class="ff2">中<span class="_ _6"></span>。<span class="_ _5"></span>一<span class="_ _6"></span>个<span class="_ _6"></span></span>框<span class="_ _6"></span>架<span class="_ _6"></span>窗<span class="_ _6"></span>口<span class="_ _6"></span><span class="ff2">是<span class="_ _6"></span>一<span class="_ _6"></span>个<span class="_ _6"></span>全<span class="_ _6"></span></span>功<span class="_ _6"></span><span class="ff2">能<span class="_ _5"></span>的<span class="_ _6"></span>主<span class="_ _6"></span></span>窗<span class="_ _6"></span>口<span class="_ _6"></span><span class="ff2">,<span class="_ _6"></span>用<span class="_ _6"></span>户<span class="_ _6"></span>可<span class="_ _6"></span>以<span class="_ _6"></span></span>改<span class="_ _6"></span>变<span class="_ _5"></span>尺<span class="_ _6"></span>寸<span class="_ _6"></span><span class="ff2">、<span class="_ _6"></span></span>最<span class="_ _6"></span><span class="ff2">小<span class="_ _6"></span></span>化<span class="_ _6"></span><span class="ff2">、<span class="_ _6"></span></span>最<span class="_ _6"></span><span class="ff2">大<span class="_ _6"></span></span>化<span class="_ _6"></span><span class="ff2">等<span class="_ _7"></span>。</span></div><div class="t m0 xa h7 y2f ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows<span class="_ _3"> </span><span class="ff2">也<span class="ff5">支持<span class="_ _5"></span></span>两种<span class="_ _5"></span>类型<span class="_ _5"></span>的对<span class="_ _5"></span><span class="ff5">话<span class="_ _5"></span>框</span>:<span class="_ _5"></span><span class="ff5">模</span>式<span class="_ _5"></span>和<span class="ff5">无<span class="_ _5"></span>模<span class="_ _5"></span></span>式对<span class="_ _5"></span><span class="ff5">话框<span class="_ _5"></span></span>。<span class="ff5">模<span class="_ _5"></span></span>式对<span class="_ _5"></span><span class="ff5">话框<span class="_ _5"></span></span>一<span class="ff5">旦<span class="_ _5"></span></span>出现<span class="_ _5"></span>在屏<span class="_ _5"></span>幕上<span class="_ _6"></span>,</span></div><div class="t m0 xa h7 yf ff5 fs1 fc0 sc0 ls0 ws0">只<span class="ff2">有<span class="_ _5"></span></span>当<span class="ff2">它<span class="_ _5"></span></span>退<span class="ff2">出<span class="_ _5"></span>时,<span class="_ _5"></span>屏幕<span class="_ _5"></span>上该<span class="_ _5"></span>应用<span class="_ _5"></span>程序<span class="_ _5"></span>的其<span class="_ _5"></span></span>余<span class="_ _5"></span><span class="ff2">部分<span class="_ _5"></span></span>才<span class="ff2">能<span class="_ _5"></span></span>响<span class="ff2">应<span class="_ _5"></span>。</span>无<span class="_ _5"></span>模<span class="ff2">式<span class="_ _5"></span>对</span>话<span class="_ _5"></span>框<span class="_ _5"></span><span class="ff2">出现<span class="_ _5"></span>在屏<span class="_ _5"></span>幕上<span class="_ _5"></span>时</span></div><div class="t m0 xa h7 y10 ff2 fs1 fc0 sc0 ls0 ws0">程序的其<span class="ff5">余</span>部分也可以作出<span class="ff5">响</span>应,它就象<span class="ff5">浮</span>动在上面一样。</div><div class="t m0 x9 h7 y11 ff5 fs1 fc0 sc0 ls0 ws0">最<span class="_ _5"></span><span class="ff2">简<span class="_ _5"></span>单<span class="_ _6"></span>的<span class="_ _5"></span><span class="ff3"> <span class="_ _6"></span>W<span class="_ _2"></span>indows<span class="_ _5"></span> <span class="_ _5"></span><span class="ff2">应<span class="_ _5"></span>用<span class="_ _6"></span>程<span class="_ _5"></span>序<span class="_ _5"></span>是<span class="_ _6"></span>使<span class="_ _5"></span>用<span class="_ _5"></span>单<span class="_ _6"></span><span class="ff5">文<span class="_ _5"></span>档<span class="_ _6"></span></span>界<span class="_ _5"></span>面<span class="_ _5"></span></span>(SDI)<span class="_ _6"></span><span class="ff2">,<span class="_ _5"></span><span class="ff5">只<span class="_ _6"></span></span>有<span class="_ _5"></span>一<span class="_ _5"></span>个<span class="_ _6"></span><span class="ff5">框<span class="_ _5"></span>架<span class="_ _5"></span>窗<span class="_ _6"></span>口<span class="_ _5"></span></span>。<span class="_ _6"></span></span>W<span class="_ _2"></span>indows</span></span></div><div class="t m0 xa h7 y12 ff2 fs1 fc0 sc0 ls0 ws0">的<span class="ff5">钟<span class="_ _5"></span></span>表<span class="_ _5"></span>、<span class="ff3">PI<span class="_ _5"></span>F <span class="_ _5"></span></span>编<span class="_ _5"></span><span class="ff5">辑</span>器<span class="_ _5"></span>、<span class="_ _5"></span>记事<span class="_ _5"></span>本<span class="_ _5"></span>等都<span class="_ _5"></span>是<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>SDI <span class="_ _5"></span></span>应<span class="_ _5"></span>用程<span class="_ _5"></span>序<span class="_ _5"></span>的<span class="_ _5"></span><span class="ff5">例子<span class="_ _5"></span></span>。<span class="_ _5"></span><span class="ff3">W<span class="_ _2"></span>indows <span class="_ _5"></span><span class="ff2">也<span class="_ _5"></span>提供<span class="_ _5"></span>了<span class="_ _5"></span>一种<span class="_ _5"></span>称<span class="_ _5"></span>为<span class="_ _5"></span><span class="ff5">多</span></span></span></div><div class="t m0 xa h7 y13 ff5 fs1 fc0 sc0 ls0 ws0">文档<span class="ff2">界<span class="_ _5"></span>面的组<span class="_ _5"></span></span>织形<span class="ff2">式<span class="_ _5"></span>,它可<span class="_ _5"></span>用于更<span class="_ _5"></span></span>复杂<span class="_ _5"></span><span class="ff2">的应用<span class="_ _5"></span>程序。<span class="_ _5"></span><span class="ff3">MDI <span class="_ _5"></span></span></span>系<span class="ff2">统</span>允<span class="_ _5"></span>许<span class="ff2">用户<span class="_ _5"></span>在</span>同<span class="ff2">一<span class="_ _5"></span>应用程<span class="_ _5"></span>序中</span></div><div class="t m0 xa h7 y14 ff5 fs1 fc0 sc0 ls0 ws0">同<span class="ff2">时<span class="_ _5"></span>可以<span class="_ _5"></span></span>查看<span class="_ _5"></span>多<span class="ff2">个<span class="_ _5"></span></span>文<span class="_ _5"></span>档<span class="ff2">。<span class="_ _5"></span></span>例<span class="ff2">如<span class="_ _5"></span>,一<span class="_ _5"></span>个</span>文<span class="_ _5"></span><span class="ff2">本编<span class="_ _5"></span></span>辑<span class="ff2">器<span class="_ _5"></span>可以<span class="_ _5"></span></span>允许<span class="_ _5"></span><span class="ff2">用户<span class="_ _5"></span></span>同<span class="ff2">时<span class="_ _5"></span></span>打<span class="ff2">开<span class="_ _5"></span></span>多<span class="_ _5"></span><span class="ff2">个</span>文<span class="_ _5"></span><span class="ff2">本</span>文<span class="_ _5"></span><span class="ff2">件。<span class="_ _5"></span>使</span></div><div class="t m0 xa h7 y15 ff2 fs1 fc0 sc0 ls0 ws0">用<span class="ff3"> MDI </span>时,应用程序有一个主<span class="ff5">窗口</span>,在主<span class="ff5">窗口</span>中有一些<span class="ff5">子窗口</span>,<span class="ff5">每</span>个<span class="ff5">子窗口</span>中各<span class="ff5">自</span>包<span class="ff5">含</span>有</div><div class="t m0 xa h7 y16 ff2 fs1 fc0 sc0 ls0 ws0">各<span class="ff5">自</span>的<span class="ff5">文档<span class="_ _5"></span></span>。在<span class="_ _3"> </span><span class="ff3">MDI<span class="_ _3"> </span><span class="ff5">框架</span></span>中,主<span class="ff5">窗口</span>有<span class="_ _5"></span>一个主菜单,<span class="_ _5"></span>它对主<span class="ff5">框<span class="_ _5"></span>架</span>中<span class="ff5">最顶</span>端<span class="ff5">窗<span class="_ _5"></span>口</span>有<span class="ff5">效</span>。各<span class="ff5">子</span></div><div class="t m0 xa h7 y17 ff5 fs1 fc0 sc0 ls0 ws0">窗口<span class="ff2">都可以<span class="_ _5"></span></span>缩<span class="ff2">成图标或</span>展<span class="_ _5"></span><span class="ff2">开,<span class="_ _5"></span><span class="ff3">MDI<span class="_ _3"> </span></span>主</span>窗口<span class="ff2">也<span class="_ _5"></span>可以</span>变<span class="ff2">成</span>桌<span class="ff2">面<span class="_ _5"></span>上的一个图标<span class="_ _5"></span>。<span class="_ _6"></span><span class="ff3">MDI<span class="_ _4"> </span></span>界面可<span class="_ _5"></span>能会</span></div><div class="t m0 xa h7 y18 ff5 fs1 fc0 sc0 ls0 ws0">给<span class="ff2">你一种第</span>二桌<span class="ff2">面的感</span>觉<span class="ff2">,它对</span>窗口<span class="ff2">的</span>管<span class="ff2">理和</span>删除混乱<span class="ff2">的</span>窗口<span class="ff2">有很大的</span>帮助<span class="ff2">。</span></div><div class="t m0 x9 h7 y19 ff2 fs1 fc0 sc0 ls0 ws0">你所<span class="_ _5"></span>建立<span class="_ _5"></span>的<span class="ff5">没<span class="_ _5"></span></span>一个<span class="_ _5"></span>应用<span class="_ _5"></span>程序<span class="_ _5"></span>都会<span class="_ _5"></span>使用<span class="_ _5"></span>它<span class="_ _5"></span><span class="ff5">自己<span class="_ _5"></span></span>的一<span class="_ _5"></span><span class="ff5">套</span>控<span class="_ _5"></span>制、<span class="_ _5"></span>菜单<span class="_ _5"></span>结构<span class="_ _5"></span>以及<span class="_ _5"></span>对<span class="_ _5"></span><span class="ff5">话框<span class="_ _5"></span></span>。应<span class="_ _5"></span>用</div><div class="t m0 xa h7 y1a ff2 fs1 fc0 sc0 ls0 ws0">程序<span class="_ _5"></span>界<span class="_ _5"></span>面的<span class="_ _5"></span>好<span class="_ _5"></span><span class="ff5">坏<span class="_ _5"></span>取</span>决<span class="_ _5"></span>于<span class="_ _5"></span>你如<span class="_ _5"></span>何<span class="_ _5"></span>选择<span class="_ _5"></span>和<span class="_ _5"></span>组<span class="_ _5"></span><span class="ff5">织</span>这<span class="_ _5"></span>些<span class="_ _5"></span>界面<span class="_ _5"></span>对<span class="_ _5"></span>象。<span class="_ _6"></span><span class="ff3">V<span class="_ _0"></span>isual<span class="_ _5"></span> C++ <span class="_ _6"></span><span class="ff2">中的<span class="_ _5"></span><span class="ff5">资<span class="_ _5"></span>源</span>编<span class="_ _5"></span><span class="ff5">辑<span class="_ _5"></span></span>器可<span class="_ _5"></span>以</span></span></div><div class="t m0 xa h4 y1b ff2 fs1 fc0 sc0 ls0 ws0">使你能容易的建立和定制这些界面对象。</div><div class="t m0 xa h7 y1c ff2 fs1 fc0 sc0 ls0 ws0">事件驱动<span class="ff5">软</span>件和<span class="ff5">词汇</span></div><div class="t m0 x9 h7 y1d ff2 fs1 fc0 sc0 ls0 ws0">所有基于<span class="ff5">窗<span class="_ _5"></span>口</span>的<span class="ff3"> <span class="_ _5"></span>GUI </span>都包<span class="_ _5"></span><span class="ff5">含</span>相<span class="ff5">同</span>的基本<span class="_ _5"></span>元素,它们的<span class="_ _5"></span><span class="ff5">操</span>作方式<span class="_ _5"></span>都是相<span class="ff5">同</span>的。<span class="_ _5"></span>在屏幕上<span class="_ _7"></span>,</div><div class="t m0 xa h7 y1e ff2 fs1 fc0 sc0 ls0 ws0">用户<span class="_ _5"></span>所<span class="ff5">看<span class="_ _5"></span></span>到的<span class="_ _5"></span>是一<span class="_ _5"></span>组<span class="_ _5"></span><span class="ff5">窗口<span class="_ _5"></span></span>,<span class="ff5">每<span class="_ _5"></span></span>个<span class="ff5">窗<span class="_ _5"></span>口</span>都<span class="_ _5"></span>包<span class="ff5">含<span class="_ _5"></span></span>有控<span class="_ _5"></span>制、<span class="_ _5"></span>图标<span class="_ _5"></span>、对<span class="_ _5"></span>象以<span class="_ _5"></span>及一<span class="_ _5"></span>些处<span class="_ _5"></span>理<span class="_ _5"></span><span class="ff5">鼠</span>标<span class="_ _5"></span>和<span class="ff5">键<span class="_ _5"></span>盘</span></div><div class="t m0 xa h7 y1f ff2 fs1 fc0 sc0 ls0 ws0">的元<span class="_ _5"></span>素。<span class="_ _5"></span>从用<span class="_ _5"></span>户<span class="ff5">角<span class="_ _5"></span>度<span class="_ _5"></span></span>来<span class="ff5">看<span class="_ _5"></span></span>,各<span class="_ _5"></span><span class="ff5">系</span>统<span class="_ _5"></span>的界<span class="_ _5"></span>面对<span class="_ _5"></span>象都<span class="_ _5"></span>是相<span class="_ _5"></span><span class="ff5">同</span>的<span class="_ _5"></span>:按<span class="_ _5"></span>钮、<span class="_ _5"></span>滚动<span class="_ _5"></span>条、<span class="_ _5"></span>图标<span class="_ _5"></span>、对<span class="_ _5"></span><span class="ff5">话<span class="_ _5"></span>框</span></div><div class="t m0 xa h7 y20 ff2 fs1 fc0 sc0 ls0 ws0">以及<span class="_ _5"></span>下<span class="_ _5"></span><span class="ff5">拉</span>菜<span class="_ _5"></span>单<span class="_ _5"></span>等等<span class="_ _5"></span>。<span class="_ _5"></span><span class="ff5">尽<span class="_ _5"></span>管</span>这<span class="_ _5"></span>些<span class="_ _5"></span>界面<span class="_ _5"></span>元<span class="_ _5"></span>素的<span class="_ _5"></span>“<span class="_ _5"></span><span class="ff5">外<span class="_ _5"></span>观</span>和<span class="_ _5"></span>感<span class="_ _5"></span><span class="ff5">觉<span class="_ _5"></span>”</span>可<span class="_ _5"></span>能<span class="_ _5"></span>有些<span class="_ _5"></span>不<span class="_ _5"></span><span class="ff5">同<span class="_ _5"></span></span>,<span class="ff5">但<span class="_ _5"></span></span>这<span class="_ _5"></span>些界<span class="_ _5"></span>面<span class="_ _5"></span>对象<span class="_ _5"></span>的</div><div class="t m0 xa h7 y21 ff2 fs1 fc0 sc0 ls0 ws0">工<span class="_ _5"></span>作方<span class="_ _5"></span>式<span class="_ _5"></span>都<span class="_ _5"></span>是<span class="_ _5"></span>相<span class="_ _5"></span><span class="ff5">同<span class="_ _5"></span></span>的<span class="_ _5"></span>。<span class="ff5">例<span class="_ _5"></span></span>如<span class="_ _5"></span>,<span class="_ _5"></span>滚<span class="_ _5"></span>动<span class="_ _5"></span>条<span class="_ _5"></span>对<span class="_ _5"></span>于<span class="_ _a"> </span><span class="ff3">W<span class="_ _2"></span>i<span class="_ _2"></span>ndows<span class="_ _5"></span><span class="ff2">、</span>Ma<span class="_ _5"></span>c<span class="_ _3"> </span><span class="ff2">和<span class="_ _b"> </span></span>Motif<span class="_ _3"> </span><span class="ff2">可<span class="_ _5"></span>能<span class="_ _5"></span>有<span class="_ _5"></span>些不<span class="_ _5"></span><span class="ff5">同<span class="_ _5"></span></span>,<span class="_ _5"></span><span class="ff5">但<span class="_ _5"></span>他<span class="_ _5"></span></span>们</span></span></div><div class="t m0 xa h4 y22 ff2 fs1 fc0 sc0 ls0 ws0">的作用完全是一样的。</div><div class="t m0 x9 h7 y23 ff2 fs1 fc0 sc0 ls0 ws0">从程<span class="_ _5"></span>序员<span class="_ _5"></span>的<span class="ff5">角<span class="_ _5"></span>度</span>来<span class="_ _5"></span><span class="ff5">看<span class="_ _5"></span></span>,这<span class="_ _5"></span>些<span class="ff5">系<span class="_ _5"></span></span>统在<span class="_ _5"></span>概念<span class="_ _5"></span>上是<span class="_ _5"></span>相<span class="ff5">似<span class="_ _5"></span></span>的,<span class="_ _5"></span><span class="ff5">尽管<span class="_ _5"></span></span>它们<span class="_ _5"></span>可能<span class="_ _5"></span>有很<span class="_ _5"></span>大的<span class="_ _5"></span>不<span class="_ _5"></span><span class="ff5">同</span>。<span class="_ _5"></span>为</div><div class="t m0 xa h7 y24 ff2 fs1 fc0 sc0 ls0 ws0">了建立<span class="ff3"> <span class="_ _5"></span>GUI </span>程序,<span class="_ _5"></span>程序员第一步<span class="_ _5"></span>要把所有需要<span class="_ _5"></span>的用户界面控<span class="_ _5"></span>制都<span class="ff5">放</span>到<span class="_ _5"></span><span class="ff5">窗口</span>上。<span class="ff5">例</span>如<span class="_ _5"></span>,如果</div><div class="t m0 xa h7 y25 ff2 fs1 fc0 sc0 ls0 ws0">程序<span class="_ _5"></span>员要<span class="_ _5"></span>建立<span class="_ _5"></span>一个<span class="_ _5"></span>从<span class="_ _5"></span><span class="ff5">摄氏<span class="_ _5"></span></span>到华<span class="_ _5"></span><span class="ff5">氏</span>的<span class="_ _5"></span><span class="ff5">转换<span class="_ _5"></span></span>的简<span class="_ _5"></span>单程<span class="_ _5"></span>序,<span class="_ _5"></span><span class="ff5">则</span>程<span class="_ _5"></span>序员<span class="_ _5"></span>所选<span class="_ _5"></span>择的<span class="_ _5"></span>用户<span class="_ _5"></span>界面<span class="_ _5"></span>对象<span class="_ _5"></span>来完</div><div class="t m0 xa h7 y26 ff2 fs1 fc0 sc0 ls0 ws0">成并<span class="_ _5"></span>在屏<span class="_ _5"></span>幕上<span class="_ _5"></span>把结<span class="_ _5"></span>果<span class="_ _5"></span><span class="ff5">显示<span class="_ _5"></span></span>出来<span class="_ _5"></span>。在<span class="_ _5"></span>这个<span class="_ _5"></span>简单<span class="_ _5"></span>的程<span class="_ _5"></span>序中<span class="_ _5"></span>,程<span class="_ _5"></span>序员<span class="_ _5"></span>可能<span class="_ _5"></span>需要<span class="_ _5"></span>用户<span class="_ _5"></span>在一<span class="_ _5"></span>个可<span class="_ _5"></span>编<span class="_ _5"></span><span class="ff5">辑</span></div><div class="t m0 xa h7 y27 ff2 fs1 fc0 sc0 ls0 ws0">的编<span class="_ _5"></span><span class="ff5">辑框<span class="_ _5"></span></span>中输<span class="_ _5"></span>入<span class="ff5">温<span class="_ _5"></span>度值<span class="_ _5"></span></span>,<span class="_ _5"></span>在一<span class="_ _5"></span>个不<span class="_ _5"></span>可编<span class="_ _5"></span><span class="ff5">辑</span>的<span class="_ _5"></span>编<span class="ff5">辑<span class="_ _5"></span>框</span>中<span class="_ _5"></span><span class="ff5">显示<span class="_ _5"></span>转换<span class="_ _5"></span></span>结果<span class="_ _5"></span>,<span class="ff5">然<span class="_ _5"></span>后让<span class="_ _5"></span></span>用<span class="_ _5"></span>户可<span class="_ _5"></span>以单<span class="_ _5"></span><span class="ff5">击</span></div><div class="t m0 xa h7 y30 ff2 fs1 fc0 sc0 ls0 ws0">一个标有“<span class="ff5">退</span>出<span class="ff5">”</span>的按钮来<span class="ff5">退</span>出应用程序。</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626678dc4f8811599eb3a35a/bg3.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x9 h7 y31 ff5 fs1 fc0 sc0 ls0 ws0">因<span class="ff2">为<span class="_ _5"></span>是用<span class="_ _5"></span>户来<span class="_ _5"></span></span>操<span class="ff2">作<span class="_ _5"></span>应用<span class="_ _5"></span>程序<span class="_ _5"></span>的控<span class="_ _5"></span>制,<span class="_ _5"></span>所以<span class="_ _5"></span>程序<span class="_ _5"></span>必须<span class="_ _5"></span>作出<span class="_ _5"></span></span>响<span class="_ _5"></span><span class="ff2">应。<span class="_ _5"></span>所做<span class="_ _5"></span>的</span>响<span class="_ _5"></span><span class="ff2">应<span class="_ _5"></span></span>依赖<span class="_ _5"></span><span class="ff2">于用<span class="_ _5"></span>户</span></div><div class="t m0 xa h7 y29 ff2 fs1 fc0 sc0 ls0 ws0">使用<span class="_ _5"></span><span class="ff5">鼠</span>标<span class="_ _5"></span>或<span class="ff5">键<span class="_ _5"></span>盘</span>在<span class="_ _5"></span>不<span class="_ _5"></span><span class="ff5">同</span>控<span class="_ _5"></span>制上<span class="_ _5"></span>的<span class="ff5">操<span class="_ _5"></span></span>作。<span class="_ _5"></span>屏幕<span class="_ _5"></span>上的<span class="_ _5"></span><span class="ff5">每</span>个<span class="_ _5"></span>用户<span class="_ _5"></span>界面<span class="_ _5"></span>对象<span class="_ _5"></span>对事<span class="_ _5"></span>件的<span class="_ _5"></span><span class="ff5">响<span class="_ _5"></span></span>应是<span class="_ _5"></span>不<span class="ff5">同<span class="_ _5"></span></span>的</div><div class="t m0 xa h7 y3 ff5 fs1 fc0 sc0 ls0 ws0">例<span class="ff2">如<span class="_ _5"></span>,如<span class="_ _5"></span>果用<span class="_ _5"></span>户单<span class="_ _5"></span></span>击<span class="_ _5"></span>退<span class="ff2">出<span class="_ _5"></span>按钮<span class="_ _5"></span>,</span>则<span class="_ _5"></span><span class="ff2">该按<span class="_ _5"></span>钮必<span class="_ _5"></span>须更<span class="_ _5"></span></span>新<span class="ff2">屏<span class="_ _5"></span>幕、<span class="_ _5"></span></span>加亮<span class="_ _5"></span><span class="ff2">它</span>自<span class="_ _5"></span>己<span class="ff2">。<span class="_ _5"></span></span>然<span class="_ _5"></span>后<span class="ff2">程<span class="_ _5"></span>序必<span class="_ _5"></span>须</span>响<span class="_ _5"></span><span class="ff2">应</span></div><div class="t m0 xa h7 y2a ff5 fs1 fc0 sc0 ls0 ws0">退<span class="ff2">出。</span></div><div class="t m0 x9 h7 y2b ff3 fs1 fc0 sc0 ls0 ws0">W<span class="_ _2"></span>indows <span class="ff2">所<span class="_ _5"></span>用的<span class="_ _5"></span><span class="ff5">模<span class="_ _5"></span></span>式也<span class="_ _5"></span>是类<span class="_ _5"></span><span class="ff5">似</span>的<span class="_ _5"></span>。在<span class="_ _5"></span>一个<span class="_ _5"></span><span class="ff5">典</span>型<span class="_ _5"></span>的应<span class="_ _5"></span>用程<span class="_ _5"></span>序中<span class="_ _5"></span>,你<span class="_ _5"></span>将建<span class="_ _5"></span>立一<span class="_ _5"></span>个主<span class="_ _5"></span><span class="ff5">窗<span class="_ _5"></span>口</span>,</span></div><div class="t m0 xa h7 y2c ff2 fs1 fc0 sc0 ls0 ws0">并<span class="ff5">且<span class="_ _5"></span></span>在其<span class="_ _5"></span>中<span class="ff5">放<span class="_ _5"></span></span>置了<span class="_ _5"></span>一些<span class="_ _5"></span>用户<span class="_ _5"></span>界面<span class="_ _5"></span>控制<span class="_ _5"></span>。这<span class="_ _5"></span>些控<span class="_ _5"></span>制<span class="_ _5"></span><span class="ff5">通常<span class="_ _5"></span></span>被称<span class="_ _5"></span>为<span class="ff5">子<span class="_ _5"></span>窗口<span class="_ _5"></span>——<span class="_ _5"></span></span>它<span class="_ _5"></span>们就<span class="_ _5"></span>象一<span class="_ _5"></span>些在<span class="_ _5"></span>主</div><div class="t m0 xa h7 y2d ff5 fs1 fc0 sc0 ls0 ws0">窗口<span class="_ _5"></span><span class="ff2">中的<span class="_ _5"></span>更小<span class="_ _5"></span>更特<span class="_ _5"></span></span>殊<span class="_ _5"></span><span class="ff2">的</span>子<span class="_ _5"></span>窗口<span class="_ _5"></span><span class="ff2">。作<span class="_ _5"></span>为程<span class="_ _5"></span>序员<span class="_ _5"></span>,你<span class="_ _5"></span>应该<span class="_ _5"></span></span>通过<span class="_ _5"></span><span class="ff2">函数<span class="_ _5"></span></span>调<span class="ff2">用<span class="_ _5"></span>来发<span class="_ _5"></span></span>送<span class="_ _5"></span>信<span class="ff2">息<span class="_ _5"></span></span>操<span class="ff2">作<span class="_ _5"></span>这些<span class="_ _5"></span>控</span></div><div class="t m0 xa h7 y5 ff2 fs1 fc0 sc0 ls0 ws0">制、<span class="ff5">通过</span>把<span class="ff5">信</span>息发<span class="ff5">送给</span>你到代码来<span class="ff5">响</span>应用户的<span class="ff5">操</span>作。</div><div class="t m0 x9 h7 y6 ff2 fs1 fc0 sc0 ls0 ws0">如果<span class="_ _5"></span>你从<span class="_ _5"></span><span class="ff5">未</span>做<span class="_ _5"></span><span class="ff5">过</span>事<span class="_ _5"></span>件驱<span class="_ _5"></span>动程<span class="_ _5"></span>序设<span class="_ _5"></span>计,<span class="_ _5"></span><span class="ff5">则<span class="_ _5"></span></span>所有<span class="_ _5"></span>这些<span class="_ _5"></span>对你<span class="_ _5"></span>来<span class="ff5">说<span class="_ _5"></span></span>可能<span class="_ _5"></span>是很<span class="_ _5"></span><span class="ff5">陌生<span class="_ _5"></span></span>的<span class="_ _5"></span>。<span class="ff5">但<span class="_ _5"></span></span>是,<span class="_ _5"></span>事</div><div class="t m0 xa h7 y7 ff2 fs1 fc0 sc0 ls0 ws0">件驱<span class="_ _5"></span>动程<span class="_ _5"></span>序设<span class="_ _5"></span>计方<span class="_ _5"></span>式是<span class="_ _5"></span>很容<span class="_ _5"></span>易理<span class="_ _5"></span>解的<span class="_ _5"></span>。具<span class="_ _5"></span><span class="ff5">体<span class="_ _5"></span></span>的细<span class="_ _5"></span>节对<span class="_ _5"></span>不<span class="ff5">同<span class="_ _5"></span></span>的<span class="ff5">系<span class="_ _5"></span></span>统可<span class="_ _5"></span>能有<span class="_ _5"></span>些不<span class="_ _5"></span><span class="ff5">同<span class="_ _5"></span></span>,<span class="ff5">但<span class="_ _5"></span></span>是其<span class="_ _5"></span>基</div><div class="t m0 xa h7 y8 ff2 fs1 fc0 sc0 ls0 ws0">本概<span class="_ _5"></span>念是<span class="_ _5"></span>类<span class="ff5">似<span class="_ _5"></span></span>的。<span class="_ _5"></span>在一<span class="_ _5"></span>个事<span class="_ _5"></span>件驱<span class="_ _5"></span>动界<span class="_ _5"></span>面中<span class="_ _5"></span>,应<span class="_ _5"></span>用程<span class="_ _5"></span>序会<span class="_ _5"></span>在屏<span class="_ _5"></span>幕上<span class="_ _5"></span><span class="ff5">绘<span class="_ _5"></span></span>制几<span class="_ _5"></span>个界<span class="_ _5"></span>面对<span class="_ _5"></span>象,<span class="_ _5"></span>如按</div><div class="t m0 xa h7 y9 ff2 fs1 fc0 sc0 ls0 ws0">钮、<span class="_ _5"></span><span class="ff5">文</span>本<span class="_ _5"></span>区和<span class="_ _5"></span>菜单<span class="_ _5"></span>。应<span class="_ _5"></span>用程<span class="_ _5"></span>序<span class="_ _5"></span><span class="ff5">通常<span class="_ _5"></span>通过<span class="_ _5"></span></span>一段<span class="_ _5"></span>称为<span class="_ _5"></span>事件<span class="_ _5"></span><span class="ff5">循</span>环<span class="_ _5"></span>的的<span class="_ _5"></span>代码<span class="_ _5"></span>来<span class="ff5">响<span class="_ _5"></span></span>应<span class="_ _5"></span>用户<span class="_ _5"></span>的<span class="ff5">操<span class="_ _5"></span></span>作。<span class="_ _5"></span>用</div><div class="t m0 xa h7 ya ff2 fs1 fc0 sc0 ls0 ws0">户可<span class="_ _5"></span>以使<span class="_ _5"></span>用<span class="ff5">鼠<span class="_ _5"></span></span>标或<span class="_ _5"></span><span class="ff5">键<span class="_ _5"></span>盘</span>来<span class="_ _5"></span>任意<span class="_ _5"></span><span class="ff5">操</span>作<span class="_ _5"></span>屏幕<span class="_ _5"></span>上的<span class="_ _5"></span>对象<span class="_ _5"></span>。<span class="ff5">例<span class="_ _5"></span></span>如,<span class="_ _5"></span>用户<span class="_ _5"></span>用<span class="ff5">鼠<span class="_ _5"></span></span>标单<span class="_ _5"></span><span class="ff5">击<span class="_ _5"></span></span>一个<span class="_ _5"></span>按钮<span class="_ _5"></span>。用<span class="_ _5"></span><span class="ff5">鼠</span></div><div class="t m0 xa h7 yb ff2 fs1 fc0 sc0 ls0 ws0">标单<span class="_ _5"></span><span class="ff5">击</span>就<span class="_ _5"></span>称为<span class="_ _5"></span>一个<span class="_ _5"></span>事件<span class="_ _5"></span>。事<span class="_ _5"></span>件驱<span class="_ _5"></span>动<span class="_ _5"></span><span class="ff5">系</span>统<span class="_ _5"></span>把用<span class="_ _5"></span>户的<span class="_ _5"></span>动作<span class="_ _5"></span>如<span class="ff5">鼠<span class="_ _5"></span></span>标单<span class="_ _5"></span><span class="ff5">击</span>和<span class="_ _5"></span><span class="ff5">键盘<span class="_ _5"></span>操<span class="_ _5"></span></span>作定<span class="_ _5"></span><span class="ff5">义</span>为<span class="_ _5"></span>事件<span class="_ _5"></span>,</div><div class="t m0 xa h7 yc ff2 fs1 fc0 sc0 ls0 ws0">也把<span class="ff5">系</span>统<span class="ff5">操</span>作如更<span class="ff5">新</span>屏幕定<span class="ff5">义</span>为事件。</div><div class="t m0 x9 h7 yd ff2 fs1 fc0 sc0 ls0 ws0">在比<span class="_ _5"></span>较<span class="ff5">低<span class="_ _5"></span></span>级的<span class="_ _5"></span>编程<span class="_ _5"></span>方法<span class="_ _5"></span>中,<span class="_ _5"></span>如用<span class="_ _b"> </span><span class="ff3">C<span class="_"> </span></span>直<span class="ff5">接</span>编写<span class="_ _b"> </span><span class="ff3">W<span class="_ _2"></span>indows <span class="_ _0"></span>API<span class="_"> </span><span class="ff2">应用程<span class="_ _5"></span>序,<span class="_ _5"></span>代码<span class="_ _5"></span><span class="ff5">量</span>是<span class="_ _5"></span><span class="ff5">非常<span class="_ _5"></span></span>大</span></span></div><div class="t m0 xa h7 y2e ff2 fs1 fc0 sc0 ls0 ws0">的,<span class="_ _5"></span><span class="ff5">因</span>为<span class="_ _5"></span>你所<span class="_ _5"></span>要<span class="ff5">照<span class="_ _5"></span>顾<span class="_ _5"></span></span>的细<span class="_ _5"></span>节<span class="ff5">太<span class="_ _5"></span>多</span>了<span class="_ _5"></span>。<span class="ff5">例<span class="_ _5"></span></span>如,<span class="_ _5"></span>你用<span class="_ _5"></span><span class="ff5">某</span>种<span class="_ _5"></span>类型<span class="_ _5"></span>的结<span class="_ _5"></span>构来<span class="_ _5"></span><span class="ff5">接收<span class="_ _5"></span></span>单<span class="_ _5"></span><span class="ff5">击鼠<span class="_ _5"></span></span>标事<span class="_ _5"></span>件。<span class="_ _5"></span>你</div><div class="t m0 xa h7 y2f ff2 fs1 fc0 sc0 ls0 ws0">的事<span class="_ _5"></span>件<span class="ff5">循<span class="_ _5"></span></span>环中<span class="_ _5"></span>的代<span class="_ _5"></span>码会<span class="_ _5"></span><span class="ff5">查<span class="_ _5"></span>看</span>结<span class="_ _5"></span>构中<span class="_ _5"></span>不<span class="ff5">同<span class="_ _5"></span>域</span>,<span class="_ _5"></span>以<span class="ff5">确<span class="_ _5"></span></span>定<span class="ff5">哪<span class="_ _5"></span></span>个用<span class="_ _5"></span>户界<span class="_ _5"></span>面对<span class="_ _5"></span>象<span class="ff5">受<span class="_ _5"></span></span>到<span class="_ _5"></span>了<span class="ff5">影<span class="_ _5"></span>响</span>,<span class="_ _5"></span><span class="ff5">然后<span class="_ _5"></span></span>会</div><div class="t m0 xa h7 yf ff2 fs1 fc0 sc0 ls0 ws0">完成<span class="_ _5"></span>相应<span class="_ _5"></span>的<span class="ff5">操<span class="_ _5"></span></span>作。<span class="_ _5"></span><span class="ff5">当<span class="_ _5"></span></span>屏幕<span class="_ _5"></span>上有<span class="_ _5"></span>很<span class="ff5">多<span class="_ _5"></span></span>对象<span class="_ _5"></span>时,<span class="_ _5"></span>应用<span class="_ _5"></span>程序<span class="_ _5"></span>会<span class="ff5">变<span class="_ _5"></span>得</span>很<span class="_ _5"></span>大。<span class="_ _5"></span><span class="ff5">只</span>是<span class="_ _5"></span>简单<span class="_ _5"></span>地处<span class="_ _5"></span>理<span class="_ _5"></span><span class="ff5">哪</span>个<span class="_ _5"></span>对</div><div class="t m0 xa h7 y10 ff2 fs1 fc0 sc0 ls0 ws0">象被单<span class="ff5">击</span>和对它需要做些什么要<span class="ff5">花费</span>大<span class="ff5">量</span>的代码。</div><div class="t m0 x9 h7 y11 ff5 fs1 fc0 sc0 ls0 ws0">幸<span class="ff2">运<span class="_ _5"></span>的<span class="_ _5"></span>是,<span class="_ _5"></span>你<span class="_ _5"></span>可以<span class="_ _5"></span>在<span class="_ _5"></span>比较<span class="_ _5"></span></span>高<span class="_ _5"></span><span class="ff2">级<span class="_ _5"></span>的方<span class="_ _5"></span>法<span class="_ _5"></span>来<span class="_ _5"></span></span>进<span class="ff2">行<span class="_ _5"></span>编<span class="_ _5"></span>程,<span class="_ _5"></span>这<span class="_ _5"></span>就是<span class="_ _5"></span>使<span class="_ _5"></span>用<span class="_ _a"> </span><span class="ff3">MFC</span>。<span class="_ _5"></span>在<span class="_ _3"> </span><span class="ff3">MFC<span class="_"> </span></span>中,几</span></div><div class="t m0 xa h7 y12 ff5 fs1 fc0 sc0 ls0 ws0">乎<span class="ff2">所<span class="_ _5"></span>有的<span class="_ _5"></span></span>低<span class="ff2">级<span class="_ _5"></span>的细<span class="_ _5"></span>节处<span class="_ _5"></span>理都<span class="_ _5"></span>为你<span class="_ _5"></span>代<span class="_ _5"></span></span>办<span class="ff2">了<span class="_ _5"></span>。如<span class="_ _5"></span>果你<span class="_ _5"></span>把</span>某<span class="_ _5"></span><span class="ff2">一用<span class="_ _5"></span>户界<span class="_ _5"></span>面对<span class="_ _5"></span>象</span>放<span class="_ _5"></span><span class="ff2">在<span class="_ _5"></span>屏幕<span class="_ _5"></span>上,<span class="_ _5"></span>你</span>只<span class="_ _5"></span><span class="ff2">需</span></div><div class="t m0 xa h7 y13 ff2 fs1 fc0 sc0 ls0 ws0">要两<span class="_ _5"></span>行代<span class="_ _5"></span>码来<span class="_ _5"></span>建立<span class="_ _5"></span>它。<span class="_ _5"></span>如果<span class="_ _5"></span>用户<span class="_ _5"></span>单<span class="_ _5"></span><span class="ff5">击</span>一<span class="_ _5"></span>个按<span class="_ _5"></span>钮,<span class="_ _5"></span><span class="ff5">则</span>按<span class="_ _5"></span>钮<span class="ff5">自<span class="_ _5"></span>己</span>会<span class="_ _5"></span>完成<span class="_ _5"></span>一<span class="ff5">切<span class="_ _5"></span></span>必<span class="_ _5"></span>要的<span class="_ _5"></span><span class="ff5">操</span>作<span class="_ _5"></span>,从<span class="_ _5"></span>更</div><div class="t m0 xa h7 y14 ff5 fs1 fc0 sc0 ls0 ws0">新<span class="ff2">屏<span class="_ _5"></span>幕上<span class="_ _5"></span>的</span>外<span class="_ _5"></span>观<span class="ff2">到<span class="_ _5"></span></span>调<span class="_ _5"></span><span class="ff2">用你<span class="_ _5"></span>程序<span class="_ _5"></span>中的<span class="_ _5"></span></span>预<span class="ff2">处<span class="_ _5"></span>理函<span class="_ _5"></span>数。<span class="_ _5"></span>该函<span class="_ _5"></span>数包<span class="_ _5"></span></span>含<span class="ff2">有<span class="_ _5"></span>对该<span class="_ _5"></span>按钮<span class="_ _5"></span>作出<span class="_ _5"></span>相应<span class="_ _5"></span></span>操<span class="_ _5"></span><span class="ff2">作的<span class="_ _5"></span>代</span></div><div class="t m0 xa h7 y15 ff2 fs1 fc0 sc0 ls0 ws0">码。<span class="ff3">MFC </span>为<span class="_ _5"></span>你处理所有的<span class="_ _5"></span>细节:你建立<span class="_ _5"></span>按钮并<span class="ff5">告<span class="_ _5"></span>知</span>它特定的处<span class="_ _5"></span>理函数,<span class="ff5">则当<span class="_ _5"></span></span>它被按下时,</div><div class="t m0 xa h7 y16 ff2 fs1 fc0 sc0 ls0 ws0">它就会<span class="ff5">调</span>用相应的函数。第四部分介绍了<span class="ff5">怎</span>样使用消息映射来处理事件。</div><div class="t m0 xa h8 y32 ff5 fs3 fc2 sc3 ls0 ws0">例子</div><div class="t m0 x9 h7 y19 ff2 fs1 fc0 sc0 ls0 ws0">理<span class="_ _5"></span>解一<span class="_ _5"></span>个<span class="_ _5"></span><span class="ff5">典<span class="_ _5"></span></span>型<span class="_ _5"></span>的<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>MFC<span class="_ _5"></span> <span class="_ _5"></span></span>程<span class="_ _5"></span>序<span class="_ _5"></span>的<span class="_ _5"></span>结<span class="_ _5"></span>构<span class="_ _5"></span>和<span class="_ _5"></span>样式<span class="_ _5"></span>的<span class="_ _5"></span><span class="ff5">最<span class="_ _5"></span></span>好<span class="_ _5"></span>方<span class="_ _5"></span>法<span class="_ _5"></span>是<span class="_ _5"></span>输入<span class="_ _5"></span>一<span class="_ _5"></span>段<span class="_ _5"></span>小<span class="_ _5"></span>程<span class="_ _5"></span>序,<span class="_ _6"></span><span class="ff5">然后<span class="_ _5"></span></span>编<span class="_ _5"></span>译<span class="_ _5"></span>和</div><div class="t m0 xa h7 y1a ff2 fs1 fc0 sc0 ls0 ws0">运行它。下面的程序是一段简单的“<span class="_ _5"></span><span class="ff3">hello world<span class="ff4">”</span></span>程序。这对很<span class="ff5">多<span class="_ _3"> </span><span class="ff3">C<span class="_ _4"> </span></span></span>程序员都是很熟悉了,<span class="ff5">让</span></div><div class="t m0 xa h7 y1b ff5 fs1 fc0 sc0 ls0 ws0">我<span class="ff2">们</span>看<span class="ff2">一下如何用<span class="_ _3"> </span><span class="ff3">MFC<span class="_ _4"> </span></span>方法来实现。如果你是第一次</span>看<span class="ff2">到这类程序,也</span>许<span class="ff2">比较</span>难<span class="ff2">理解。这</span></div><div class="t m0 xa h7 y1c ff5 fs1 fc0 sc0 ls0 ws0">没关系<span class="_ _5"></span><span class="ff2">,</span>我<span class="ff2">们<span class="_ _5"></span></span>后<span class="ff2">面会<span class="_ _5"></span>详细介<span class="_ _5"></span>绍。现<span class="_ _5"></span>在你<span class="_ _5"></span></span>只<span class="ff2">要用<span class="_ _a"> </span><span class="ff3">V<span class="_ _0"></span>isual <span class="_ _5"></span>C++ <span class="_ _5"></span><span class="ff2">环境<span class="_ _5"></span>中建立<span class="_ _5"></span>、编译<span class="_ _5"></span>和运行<span class="_ _5"></span>它就可</span></span></span></div><div class="t m0 xa h4 y1d ff2 fs1 fc0 sc0 ls0 ws0">以了。</div><div class="t m0 x9 h9 y33 ff3 fs1 fc0 sc0 ls0 ws0">//hello.cpp</div><div class="t m0 x9 h9 y34 ff3 fs1 fc0 sc0 ls0 ws0">#include <afxwin.h></div><div class="t m0 x9 h7 y22 ff3 fs1 fc0 sc0 ls0 ws0">// <span class="ff5">说<span class="ff2">明应用程序类</span></span></div><div class="t m0 x9 h9 y35 ff3 fs1 fc0 sc0 ls0 ws0">class CHelloApp : public CW<span class="_ _2"></span>inApp</div><div class="t m0 x9 h9 y36 ff3 fs1 fc0 sc0 ls0 ws0">{</div><div class="t m0 x9 h9 y37 ff3 fs1 fc0 sc0 ls0 ws0"> public:</div><div class="t m0 x9 h9 y38 ff3 fs1 fc0 sc0 ls0 ws0"> virtual BOOL<span class="_ _2"></span> InitInstance();</div><div class="t m0 x9 h9 y39 ff3 fs1 fc0 sc0 ls0 ws0">};</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626678dc4f8811599eb3a35a/bg4.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x9 h7 y31 ff3 fs1 fc0 sc0 ls0 ws0">// <span class="ff2">建立应用程序类的实<span class="ff5">例</span></span></div><div class="t m0 x9 h9 y3a ff3 fs1 fc0 sc0 ls0 ws0">CHelloApp HelloApp;</div><div class="t m0 x9 h7 y2a ff3 fs1 fc0 sc0 ls0 ws0">// <span class="ff5">说<span class="ff2">明主</span>窗口<span class="ff2">类</span></span></div><div class="t m0 x9 h9 y3b ff3 fs1 fc0 sc0 ls0 ws0">class CHelloW<span class="_ _2"></span>indow : public CFrameWnd</div><div class="t m0 x9 h9 y3c ff3 fs1 fc0 sc0 ls0 ws0">{</div><div class="t m0 x9 h9 y3d ff3 fs1 fc0 sc0 ls0 ws0"> CStatic* cs;</div><div class="t m0 x9 h9 y3e ff3 fs1 fc0 sc0 ls0 ws0"> public:</div><div class="t m0 x9 h9 y3f ff3 fs1 fc0 sc0 ls0 ws0"> CHelloW<span class="_ _2"></span>indow();</div><div class="t m0 x9 h9 y40 ff3 fs1 fc0 sc0 ls0 ws0">};</div><div class="t m0 x9 h7 y9 ff3 fs1 fc0 sc0 ls0 ws0">// <span class="ff5">每当<span class="ff2">应用程序首次</span>执<span class="ff2">行时都要</span>调<span class="ff2">用的</span>初<span class="ff2">始</span>化<span class="ff2">函数</span></span></div><div class="t m0 x9 h9 y41 ff3 fs1 fc0 sc0 ls0 ws0">BOOL<span class="_ _2"></span> CHelloApp::InitInstance()</div><div class="t m0 x9 h9 y42 ff3 fs1 fc0 sc0 ls0 ws0">{</div><div class="t m0 x9 h9 y43 ff3 fs1 fc0 sc0 ls0 ws0"> m_pMainWnd = new CHelloW<span class="_ _2"></span>indow();</div><div class="t m0 x9 h9 y44 ff3 fs1 fc0 sc0 ls0 ws0"> m_pMainWnd->ShowW<span class="_ _2"></span>indow(m_nCmdShow);</div><div class="t m0 x9 h9 y45 ff3 fs1 fc0 sc0 ls0 ws0"> m_pMainWnd->UpdateW<span class="_ _2"></span>indow();</div><div class="t m0 x9 h9 y46 ff3 fs1 fc0 sc0 ls0 ws0"> return TRUE;</div><div class="t m0 x9 h9 y47 ff3 fs1 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 h7 y11 ff3 fs1 fc0 sc0 ls0 ws0">// <span class="ff5">窗口<span class="ff2">类的构</span>造<span class="ff2">函数</span></span></div><div class="t m0 x9 h9 y48 ff3 fs1 fc0 sc0 ls0 ws0">CHelloW<span class="_ _2"></span>indow::CHelloW<span class="_ _2"></span>i<span class="_ _2"></span>ndow()</div><div class="t m0 x9 h9 y49 ff3 fs1 fc0 sc0 ls0 ws0">{</div><div class="t m0 x9 h7 y14 ff3 fs1 fc0 sc0 ls0 ws0"> // <span class="ff2">建立<span class="ff5">窗口</span>本<span class="ff5">身</span></span></div><div class="t m0 x9 h9 y4a ff3 fs1 fc0 sc0 ls0 ws0"> Create(NULL, </div><div class="t m0 x9 h9 y4b ff3 fs1 fc0 sc0 ls0 ws0"> "Hello W<span class="_ _0"></span>orld!", </div><div class="t m0 x9 h9 y4c ff3 fs1 fc0 sc0 ls0 ws0"> WS_OVERLAPPEDWINDOW<span class="_ _0"></span>, </div><div class="t m0 x9 h9 y4d ff3 fs1 fc0 sc0 ls0 ws0"> CRect(0,0,200,200));</div><div class="t m0 x9 h7 y1a ff3 fs1 fc0 sc0 ls0 ws0"> // <span class="ff2">建立<span class="ff5">静态</span>标<span class="ff5">签</span></span></div><div class="t m0 x9 h9 y4e ff3 fs1 fc0 sc0 ls0 ws0"> cs = new CStatic();</div><div class="t m0 x9 h9 y4f ff3 fs1 fc0 sc0 ls0 ws0"> cs->Create("hello world",</div><div class="t m0 x9 h9 y50 ff3 fs1 fc0 sc0 ls0 ws0"> WS_CHILD|WS_VISIBLE|SS_CENTER,</div><div class="t m0 x9 h9 y33 ff3 fs1 fc0 sc0 ls0 ws0"> CRect(50,80,150,150),</div><div class="t m0 x9 h9 y51 ff3 fs1 fc0 sc0 ls0 ws0"> this);</div><div class="t m0 x9 h9 y34 ff3 fs1 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 h7 y22 ff2 fs1 fc0 sc0 ls0 ws0">上面的<span class="_ _5"></span>这段程<span class="_ _5"></span>序如果<span class="_ _5"></span>用<span class="_ _b"> </span><span class="ff3">C<span class="_ _3"> </span></span>来实<span class="_ _5"></span>现,<span class="ff5">得<span class="_ _5"></span></span>需要<span class="_ _5"></span>几<span class="ff5">页</span>的<span class="_ _5"></span>代码。<span class="_ _5"></span>这个简<span class="_ _5"></span>单的<span class="ff5">例<span class="_ _5"></span>子</span>做了<span class="_ _5"></span>三件事<span class="_ _5"></span>。</div><div class="t m0 xa h7 y23 ff2 fs1 fc0 sc0 ls0 ws0">第<span class="_ _5"></span>一,<span class="_ _5"></span>它<span class="_ _5"></span>建<span class="_ _5"></span>立<span class="_ _5"></span>了<span class="_ _5"></span>一个<span class="_ _5"></span>应<span class="_ _5"></span>用<span class="_ _5"></span>程<span class="_ _5"></span>序<span class="_ _5"></span>对<span class="_ _5"></span>象<span class="_ _5"></span>。你<span class="_ _5"></span>所<span class="_ _5"></span>编<span class="_ _5"></span>写<span class="_ _5"></span>的<span class="_ _5"></span><span class="ff5">每<span class="_ _5"></span></span>个<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>MFC<span class="_ _5"></span> <span class="_ _5"></span></span>程<span class="_ _5"></span>序<span class="_ _5"></span>都<span class="_ _5"></span>有一<span class="_ _5"></span>个<span class="_ _5"></span>单<span class="_ _5"></span>一<span class="_ _5"></span>的<span class="_ _5"></span>程序<span class="_ _5"></span>对<span class="_ _5"></span>象<span class="_ _5"></span>,</div><div class="t m0 xa h7 y24 ff2 fs1 fc0 sc0 ls0 ws0">它是<span class="_ _5"></span>处理<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>MFC <span class="_ _5"></span></span>和<span class="_ _5"></span><span class="ff3"> W<span class="_ _2"></span>indows <span class="_ _5"></span><span class="ff2">的<span class="_ _5"></span><span class="ff5">初</span>始<span class="_ _5"></span>细节<span class="_ _5"></span>的。<span class="_ _5"></span>第<span class="ff5">二<span class="_ _5"></span></span>,应<span class="_ _5"></span>用程<span class="_ _5"></span>序建<span class="_ _5"></span>立了<span class="_ _5"></span>一个<span class="_ _5"></span><span class="ff5">窗<span class="_ _5"></span>口</span>来<span class="_ _5"></span>作为<span class="_ _5"></span>应用<span class="_ _5"></span>程</span></span></div><div class="t m0 xa h7 y25 ff2 fs1 fc0 sc0 ls0 ws0">序的主<span class="ff5">窗口</span>。<span class="ff5">最后</span>,在应用程序的<span class="ff5">窗口</span>中建立了一个<span class="ff5">静态文</span>本标<span class="ff5">签</span>,它包<span class="ff5">含</span>有“<span class="_ _8"></span><span class="ff3">hello world<span class="ff4">”</span></span></div><div class="t m0 xa h7 y26 ff2 fs1 fc0 sc0 ls0 ws0">几个<span class="ff5">字</span>。在第<span class="ff5">二</span>部分中<span class="ff5">我</span>们会<span class="ff5">仔</span>细<span class="ff5">研究</span>这段程序,以理解其结构。</div><div class="t m0 x9 h7 y27 ff5 fs1 fc0 sc0 ls0 ws0">启<span class="ff2">动<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>VC++<span class="_ _5"></span></span>,<span class="_ _5"></span>如果<span class="_ _5"></span>你<span class="_ _5"></span>是<span class="_ _5"></span></span>刚刚<span class="_ _5"></span><span class="ff2">安<span class="_ _5"></span></span>装<span class="ff2">好<span class="_ _5"></span>,<span class="_ _5"></span></span>则<span class="_ _5"></span><span class="ff2">你会<span class="_ _5"></span>在<span class="_ _5"></span>屏幕<span class="_ _5"></span>上<span class="_ _5"></span></span>看<span class="ff2">到<span class="_ _5"></span>一<span class="_ _5"></span>个<span class="_ _5"></span></span>带<span class="ff2">有<span class="_ _5"></span>工<span class="_ _5"></span>具</span>栏<span class="_ _5"></span><span class="ff2">的<span class="_ _5"></span></span>空窗<span class="_ _5"></span>口<span class="_ _5"></span><span class="ff2">。</span></div><div class="t m0 xa h7 y30 ff2 fs1 fc0 sc0 ls0 ws0">如果<span class="_ _5"></span><span class="ff3"> VC++<span class="_ _5"></span> </span>已经<span class="_ _5"></span>在该<span class="ff5">机<span class="_ _5"></span></span>器上使<span class="_ _5"></span>用<span class="ff5">过</span>了<span class="_ _5"></span>,<span class="ff5">则<span class="_ _5"></span></span>所<span class="ff5">显示<span class="_ _5"></span></span>的<span class="ff5">窗口<span class="_ _5"></span></span>可能有<span class="_ _5"></span>些不<span class="ff5">同<span class="_ _5"></span></span>,<span class="ff5">因</span>为<span class="_ _d"> </span><span class="ff3"> VC++ <span class="_ _5"></span></span>会<span class="_ _5"></span>记<span class="ff5">忆</span></div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626678dc4f8811599eb3a35a/bg5.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 xa h7 y31 ff2 fs1 fc0 sc0 ls0 ws0">和<span class="ff5">自<span class="_ _5"></span></span>动<span class="ff5">重<span class="_ _5"></span>新打<span class="_ _5"></span></span>开上<span class="_ _5"></span>次使<span class="_ _5"></span>用<span class="_ _5"></span><span class="ff5">后退<span class="_ _5"></span></span>出时<span class="_ _5"></span>的项<span class="_ _5"></span>目和<span class="_ _5"></span><span class="ff5">文</span>件<span class="_ _5"></span>。<span class="ff5">我<span class="_ _5"></span></span>们需<span class="_ _5"></span>要的<span class="_ _5"></span>是它<span class="_ _5"></span><span class="ff5">没</span>有<span class="_ _5"></span><span class="ff5">装<span class="_ _5"></span></span>如任<span class="_ _5"></span>何项<span class="_ _5"></span>目和<span class="_ _5"></span>代</div><div class="t m0 xa h7 y29 ff2 fs1 fc0 sc0 ls0 ws0">码<span class="_ _7"></span>。<span class="_ _7"></span>如<span class="_ _7"></span>果<span class="_ _7"></span>程<span class="_ _7"></span>序<span class="_ _7"></span><span class="ff5">启<span class="_ _7"></span></span>动<span class="_ _7"></span><span class="ff5">后<span class="_ _7"></span>弹<span class="_ _7"></span></span>出<span class="_ _7"></span>对<span class="_ _7"></span><span class="ff5">话<span class="_ _7"></span>框<span class="_ _7"></span>指<span class="_ _7"></span>示<span class="_ _7"></span></span>不<span class="_ _7"></span>能<span class="_ _7"></span><span class="ff5">打<span class="_ _7"></span></span>开<span class="_ _8"></span><span class="ff5">某<span class="_ _7"></span></span>些<span class="_ _7"></span><span class="ff5">文<span class="_ _7"></span></span>件<span class="_ _7"></span>,<span class="_ _7"></span>你<span class="_ _7"></span><span class="ff5">只<span class="_ _7"></span></span>要<span class="_ _7"></span>单<span class="_ _7"></span><span class="ff5">击<span class="_ _7"></span></span>“<span class="_ _b"> </span><span class="ff3">No<span class="ff4">”<span class="_ _7"></span><span class="ff5">即<span class="_ _7"></span></span></span></span>可<span class="_ _7"></span>。<span class="_ _7"></span>在</div><div class="t m0 xa h7 y3 ff2 fs1 fc0 sc0 ls0 ws0">“<span class="ff3">W<span class="_ _2"></span>indow<span class="ff4">”<span class="ff2">菜单中选<span class="ff5">取<span class="_ _5"></span></span>“</span></span>Close <span class="_ _2"></span>All<span class="ff4">”<span class="ff2">选项<span class="ff5">关闭</span>所有<span class="ff5">窗<span class="_ _5"></span>口</span>。在“</span></span>File<span class="ff4">”<span class="_ _5"></span><span class="ff2">菜单中选<span class="ff5">取<span class="_ _5"></span></span>“</span></span>Close<span class="ff4">”<span class="ff2">选项来<span class="_ _5"></span><span class="ff5">关闭</span></span></span></span></div><div class="t m0 xa h7 y2a ff2 fs1 fc0 sc0 ls0 ws0">其它<span class="_ _5"></span><span class="ff5">窗<span class="_ _5"></span>口</span>。<span class="_ _5"></span>现<span class="_ _5"></span>在,<span class="_ _5"></span>你<span class="_ _5"></span>就处<span class="_ _5"></span>于<span class="_ _5"></span>开始<span class="_ _5"></span><span class="ff5">状<span class="_ _5"></span>态<span class="_ _5"></span></span>了<span class="_ _5"></span>。如<span class="_ _5"></span>果<span class="_ _5"></span>你安<span class="_ _5"></span><span class="ff5">装<span class="_ _a"> </span><span class="ff3">VC++<span class="_ _5"></span></span>后<span class="_ _5"></span></span>,第<span class="_ _5"></span>一<span class="_ _5"></span>次运<span class="_ _5"></span>行<span class="_ _5"></span>,<span class="_ _5"></span><span class="ff5">则</span>屏<span class="_ _5"></span>幕<span class="_ _5"></span>应如</div><div class="t m0 xa h7 y2b ff2 fs1 fc0 sc0 ls0 ws0">下所<span class="ff5">示</span>:</div><div class="t m0 x9 h7 y15 ff2 fs1 fc0 sc0 ls0 ws0">如果<span class="_ _5"></span>你<span class="_ _5"></span>以<span class="ff5">后<span class="_ _5"></span></span>不<span class="_ _5"></span><span class="ff5">希<span class="_ _5"></span>望看<span class="_ _5"></span></span>到<span class="_ _5"></span>“<span class="_ _5"></span><span class="ff3">InfoV<span class="_ _2"></span>iewer T<span class="_ _0"></span>opic<span class="ff4">”<span class="ff5">窗<span class="_ _5"></span>口<span class="_ _5"></span><span class="ff2">,<span class="_ _5"></span>你可<span class="_ _5"></span>以<span class="_ _5"></span>用按<span class="_ _5"></span>钮<span class="_ _5"></span>把它<span class="_ _5"></span></span>关<span class="_ _5"></span>掉<span class="_ _5"></span><span class="ff2">。如<span class="_ _5"></span>果<span class="_ _5"></span>以</span>后<span class="_ _5"></span><span class="ff2">需</span></span></span></span></div><div class="t m0 xa h7 y16 ff2 fs1 fc0 sc0 ls0 ws0">要的<span class="ff5">话</span>,你<span class="ff5">还</span>可以单<span class="ff5">击</span>工具<span class="ff5">栏</span>上的“主<span class="ff5">页”</span>按钮来<span class="ff5">打</span>开该<span class="ff5">窗口</span>。</div><div class="t m0 x9 h7 y17 ff2 fs1 fc0 sc0 ls0 ws0">现在<span class="_ _5"></span>一<span class="ff5">切<span class="_ _5"></span></span>都<span class="ff5">正<span class="_ _5"></span>常</span>了<span class="_ _5"></span>。<span class="_ _5"></span><span class="ff5">正</span>如<span class="_ _5"></span>你所<span class="_ _5"></span><span class="ff5">看</span>到<span class="_ _5"></span>的,<span class="_ _5"></span><span class="ff5">顶</span>部<span class="_ _5"></span>是菜<span class="_ _5"></span>单和<span class="_ _5"></span>几个<span class="_ _5"></span>工具<span class="_ _5"></span><span class="ff5">栏</span>。<span class="_ _5"></span><span class="ff5">左边<span class="_ _5"></span></span>的<span class="_ _5"></span><span class="ff5">窗口<span class="_ _5"></span></span>所<span class="ff5">显<span class="_ _5"></span>示</span></div><div class="t m0 xa h7 y18 ff2 fs1 fc0 sc0 ls0 ws0">的是在<span class="ff5">线帮助内</span>容,你可以<span class="ff5">双击某</span>项标<span class="ff5">题</span>来<span class="ff5">浏览</span>其<span class="ff5">内</span>容。在<span class="ff5">线帮助</span>的<span class="ff5">内</span>容是<span class="ff5">十</span>分<span class="ff5">丰富</span>的。</div><div class="t m0 x9 h7 y19 ff2 fs1 fc0 sc0 ls0 ws0">现在<span class="_ _5"></span>该做<span class="_ _5"></span>什么<span class="_ _5"></span>了?<span class="_ _5"></span>你所<span class="_ _5"></span>要做<span class="_ _5"></span>的是<span class="_ _5"></span>输入<span class="_ _5"></span>上面<span class="_ _5"></span>的程<span class="_ _5"></span>序,<span class="_ _5"></span><span class="ff5">然<span class="_ _5"></span>后便<span class="_ _5"></span>宜</span>并<span class="_ _5"></span>运行<span class="_ _5"></span>它。<span class="_ _5"></span>开始<span class="_ _5"></span>之<span class="_ _5"></span><span class="ff5">前</span>,<span class="_ _5"></span>要</div><div class="t m0 xa h7 y1a ff5 fs1 fc0 sc0 ls0 ws0">检查<span class="ff2">以下你的</span>硬盘<span class="ff2">上</span>至少<span class="ff2">要</span>留<span class="ff2">有<span class="_ _4"> </span><span class="ff3">5<span class="_ _5"></span>MB<span class="_ _4"> </span></span>的</span>剩余空间<span class="ff2">。</span></div><div class="t m0 xa h6 y52 ff2 fs3 fc2 sc3 ls0 ws0">建立项目和编译代码</div><div class="t m0 x9 h4 y1d ff2 fs1 fc0 sc0 ls0 ws0">为了在<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>V<span class="_ _0"></span>isual C++<span class="_ _5"></span> <span class="_ _5"></span><span class="ff2">中编<span class="_ _5"></span>译代码<span class="_ _5"></span>,你必<span class="_ _5"></span>须要建<span class="_ _5"></span>立一个<span class="_ _5"></span>项目。<span class="_ _5"></span>为了这<span class="_ _5"></span>么小的<span class="_ _5"></span>程序来<span class="_ _5"></span>建立一</span></span></div><div class="t m0 xa h7 y1e ff2 fs1 fc0 sc0 ls0 ws0">个项<span class="_ _5"></span>目可<span class="_ _5"></span>能有<span class="_ _5"></span><span class="ff5">点</span>小<span class="_ _5"></span><span class="ff5">题<span class="_ _5"></span></span>大作<span class="_ _5"></span>,<span class="ff5">但<span class="_ _5"></span></span>是,<span class="_ _5"></span>在任<span class="_ _5"></span>何实<span class="_ _5"></span><span class="ff5">际</span>的<span class="_ _5"></span>程序<span class="_ _5"></span>中,<span class="_ _5"></span>项目<span class="_ _5"></span>的概<span class="_ _5"></span>念是<span class="_ _5"></span><span class="ff5">非<span class="_ _5"></span>常</span>有<span class="_ _5"></span>用的<span class="_ _5"></span>。一<span class="_ _5"></span>个</div><div class="t m0 xa h7 y1f ff2 fs1 fc0 sc0 ls0 ws0">项目主要<span class="ff5">保存着</span>下面三种不<span class="ff5">同</span>类型的<span class="ff5">信</span>息<span class="ff3">:</span></div><div class="t m0 x9 h7 y20 ff3 fs1 fc0 sc0 ls0 ws0">1.<span class="_ _e"> </span><span class="ff2">它可<span class="_ _5"></span>以记<span class="_ _5"></span>住建<span class="_ _5"></span>立一<span class="_ _5"></span>个可<span class="_ _5"></span><span class="ff5">执</span>行<span class="_ _5"></span>程序<span class="_ _5"></span>所需<span class="_ _5"></span>要的<span class="_ _5"></span>所有<span class="_ _5"></span><span class="ff5">源<span class="_ _5"></span></span>程序<span class="_ _5"></span>代码<span class="_ _5"></span><span class="ff5">文</span>件<span class="_ _5"></span>。在<span class="_ _5"></span>这个<span class="_ _5"></span>简单<span class="_ _5"></span>的<span class="_ _5"></span><span class="ff5">例</span></span></div><div class="t m0 xb h7 y21 ff5 fs1 fc0 sc0 ls0 ws0">子<span class="ff2">中<span class="_ _5"></span>,<span class="_ _5"></span></span>文<span class="_ _5"></span><span class="ff2">件<span class="_ _5"></span><span class="ff3"> <span class="_ _5"></span>HELLO.CPP <span class="_ _5"></span></span>是</span>唯<span class="_ _5"></span><span class="ff2">一<span class="_ _5"></span>的<span class="_ _5"></span></span>源<span class="_ _5"></span>文<span class="_ _5"></span><span class="ff2">件,<span class="_ _6"></span></span>但<span class="ff2">是<span class="_ _5"></span>在<span class="_ _5"></span>一<span class="_ _5"></span>个大<span class="_ _6"></span>型的<span class="_ _5"></span>应<span class="_ _5"></span>用<span class="_ _5"></span>程序<span class="_ _5"></span>中<span class="_ _5"></span>,<span class="_ _5"></span>为<span class="_ _5"></span>了</span></div><div class="t m0 xb h7 y22 ff5 fs1 fc0 sc0 ls0 ws0">便<span class="ff2">于<span class="_ _5"></span></span>管<span class="ff2">理<span class="_ _5"></span>和</span>维<span class="_ _5"></span>护<span class="ff2">,<span class="_ _5"></span>你可<span class="_ _5"></span>以会<span class="_ _5"></span>有</span>许<span class="_ _5"></span>多<span class="ff2">个<span class="_ _5"></span>不</span>同<span class="_ _5"></span><span class="ff2">的</span>源<span class="_ _5"></span>文<span class="_ _5"></span><span class="ff2">件。<span class="_ _5"></span>项目<span class="_ _5"></span>会</span>维<span class="_ _5"></span>护<span class="ff2">这<span class="_ _5"></span>些不<span class="_ _5"></span></span>同<span class="_ _5"></span>文<span class="ff2">件<span class="_ _5"></span>的</span></div><div class="t m0 xb h7 y23 ff2 fs1 fc0 sc0 ls0 ws0">列表,并<span class="ff5">当</span>你要建立下一个<span class="ff5">新</span>的可<span class="ff5">执</span>行程序时,在必要时编译它们。</div><div class="t m0 x9 h7 y24 ff3 fs1 fc0 sc0 ls0 ws0">2.<span class="_ _e"> </span><span class="ff2">它会<span class="_ _5"></span>记住<span class="_ _5"></span><span class="ff5">针</span>对<span class="_ _5"></span>你的<span class="_ _5"></span>应用<span class="_ _5"></span>程序<span class="_ _5"></span>所使<span class="_ _5"></span>用的<span class="_ _5"></span>编译<span class="_ _5"></span>器和<span class="_ _5"></span><span class="ff5">连<span class="_ _5"></span>接</span>器<span class="_ _5"></span>选项<span class="_ _5"></span>。<span class="ff5">例<span class="_ _5"></span></span>如,<span class="_ _5"></span>它会<span class="_ _5"></span>记住<span class="_ _5"></span>把<span class="_ _5"></span><span class="ff5">哪</span></span></div><div class="t m0 xb h7 y25 ff2 fs1 fc0 sc0 ls0 ws0">个库<span class="ff5">连接</span>到了<span class="ff5">执</span>行程序中,你是<span class="ff5">否预</span>编译了<span class="ff5">头文</span>件等等。</div><div class="t m0 x9 h7 y26 ff3 fs1 fc0 sc0 ls0 ws0">3.<span class="_ _e"> </span><span class="ff2">它会记住你<span class="ff5">想</span>要建立的项目类型</span>: <span class="ff2">一个控制台应用程序,或一个<span class="ff5">窗口</span>应用程序等等。</span></div><div class="t m0 x9 h7 y27 ff2 fs1 fc0 sc0 ls0 ws0">如果<span class="_ _5"></span>你已<span class="_ _5"></span>经对<span class="_ _5"></span>项目<span class="_ _5"></span><span class="ff5">文<span class="_ _5"></span></span>件有<span class="_ _5"></span>所了<span class="_ _5"></span>解,<span class="_ _5"></span><span class="ff5">则</span>会<span class="_ _5"></span>很容<span class="_ _5"></span>易明<span class="_ _5"></span><span class="ff5">白</span>作<span class="_ _5"></span>为<span class="ff5">机<span class="_ _5"></span></span>器<span class="ff5">产<span class="_ _5"></span>生</span>的<span class="_ _5"></span>项目<span class="_ _5"></span><span class="ff5">文<span class="_ _5"></span></span>件的<span class="_ _5"></span>作用<span class="_ _5"></span>。</div><div class="t m0 xa h7 y30 ff2 fs1 fc0 sc0 ls0 ws0">现在,<span class="ff5">我</span>们来建立一个简单的项目,并用它来编译<span class="ff3"> HELLO.CPP</span>。</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>