<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/62808dab9b6e2b6d558cff8c/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/62808dab9b6e2b6d558cff8c/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">通过实例学<span class="_ _0"> </span><span class="ff2 sc1">VB</span>(二)</div><div class="t m0 x2 h4 y3 ff1 fs1 fc0 sc1 ls0 ws0">在上<span class="_ _1"></span>一章<span class="_ _1"></span>内我<span class="_ _1"></span>们建<span class="_ _1"></span>立了<span class="_ _1"></span>基本<span class="_ _1"></span>的编<span class="_ _1"></span>辑界<span class="_ _1"></span>面,<span class="_ _1"></span>包含<span class="_ _1"></span>一个<span class="_ _2"> </span><span class="ff3">Form<span class="_ _3"> </span></span>窗体<span class="_ _1"></span>和一<span class="_ _1"></span>个<span class="_ _3"> </span><span class="ff3">MDI<span class="_ _3"> </span></span>窗体<span class="_ _1"></span>。在<span class="_ _1"></span>这</div><div class="t m0 x1 h4 y4 ff1 fs1 fc0 sc1 ls0 ws0">一章内,我们要进一步完善程序。包括添加菜单和实现文件打开、新建以及退出操作</div><div class="t m0 x2 h4 y5 ff1 fs1 fc0 sc1 ls0 ws0">首先打开在<span class="_ _1"></span>上一章中保存的工<span class="_ _1"></span>程文件。双击工程<span class="_ _1"></span>列表栏中的<span class="_ _2"> </span><span class="ff3">MDIForm1<span class="_ _3"> </span></span>项打开<span class="_ _4"> </span><span class="ff3">MDI<span class="_ _4"> </span></span>窗</div><div class="t m0 x1 h4 y6 ff1 fs1 fc0 sc1 ls0 ws0">体。然后再点击菜单中的<span class="ff3"> T<span class="_ _5"></span>ools | Menu Editor… <span class="ff1">项打开菜单编辑窗口。窗口如图所示:</span></span></div><div class="t m0 x1 h4 y7 ff3 fs1 fc0 sc1 ls0 ws0">(<span class="ff1">附加图片</span> 2-1.bmp <span class="ff1">菜单编辑窗口</span>)</div><div class="t m0 x2 h4 y8 ff1 fs1 fc0 sc1 ls0 ws0">首先<span class="_ _1"></span>在<span class="_ _3"> </span><span class="ff3">Caption<span class="_"> </span></span>栏中输<span class="_ _1"></span>入<span class="_ _1"></span><span class="ff3"> </span>文<span class="_ _1"></span>件<span class="_ _1"></span><span class="ff3">[&F] <span class="_ _1"></span></span>,然<span class="_ _1"></span>后在<span class="_ _2"> </span><span class="ff3">Name<span class="_ _4"> </span></span>栏<span class="_ _1"></span>中输<span class="_ _1"></span>入<span class="_ _3"> </span><span class="ff3">mFile<span class="_ _1"></span></span>。点<span class="_ _1"></span>击<span class="ff3"> <span class="_ _1"></span>Next <span class="_ _1"></span></span>按<span class="_ _1"></span>钮将</div><div class="t m0 x1 h4 y9 ff1 fs1 fc0 sc1 ls0 ws0">菜单<span class="_ _1"></span>条目转<span class="_ _1"></span>移到<span class="_ _1"></span>下一行<span class="_ _1"></span>,点击<span class="_ _1"></span>中间<span class="_ _2"> </span><span class="ff3">4<span class="_ _3"> </span></span>个箭<span class="_ _1"></span>头按钮<span class="_ _1"></span>中指<span class="_ _1"></span>向右方<span class="_ _1"></span>的按钮<span class="_ _1"></span>,这<span class="_ _1"></span>时在菜<span class="_ _1"></span>单栏中<span class="_ _1"></span>就会</div><div class="t m0 x1 h4 ya ff1 fs1 fc0 sc1 ls0 ws0">出现<span class="_ _3"> </span><span class="ff3">4<span class="_"> </span></span>个小点<span class="_ _1"></span>。这<span class="_ _1"></span>说明<span class="_ _1"></span>该菜<span class="_ _1"></span>单项<span class="_ _1"></span>为上<span class="_ _1"></span>一个<span class="_ _1"></span>菜单<span class="_ _1"></span>项的<span class="_ _1"></span>子菜<span class="_ _1"></span>单。<span class="_ _1"></span>在<span class="_ _2"> </span><span class="ff3">C<span class="_ _6"></span>aption<span class="_"> </span><span class="ff1">栏中输<span class="_ _1"></span>入</span> <span class="_ _1"></span><span class="ff1">新<span class="_ _1"></span>建</span>[&N]</span></div><div class="t m0 x1 h4 yb ff1 fs1 fc0 sc1 ls0 ws0">,<span class="_ _1"></span>在<span class="_ _4"> </span><span class="ff3">Name<span class="_"> </span></span>栏<span class="_ _1"></span>中<span class="_ _1"></span>输入<span class="_ _1"></span><span class="ff3"> <span class="_ _1"></span>mFileNew<span class="_ _1"></span> <span class="_ _1"></span></span>。<span class="_ _1"></span>再点<span class="_ _1"></span>击<span class="_ _3"> </span><span class="ff3">ShoutCut<span class="_"> </span></span>下<span class="_ _1"></span>拉框<span class="_ _1"></span>,<span class="_ _1"></span>选<span class="_ _1"></span>择<span class="_ _1"></span><span class="ff3"> Ctrl+N<span class="_ _1"></span> <span class="_ _1"></span></span>项<span class="_ _1"></span>。<span class="_ _1"></span>最后<span class="_ _1"></span>点<span class="_ _1"></span>击<span class="_ _3"> </span><span class="ff3">OK</span></div><div class="t m0 x1 h4 yc ff1 fs1 fc0 sc1 ls0 ws0">键退出菜单编辑窗口。回到<span class="_ _4"> </span><span class="ff3">MDIForm1<span class="_ _4"> </span></span>窗体,可以看到菜单加入到窗体上的效果。</div><div class="t m0 x2 h4 yd ff1 fs1 fc0 sc1 ls0 ws0">在菜单编辑<span class="_ _1"></span>窗口中,<span class="ff3">Caption<span class="_ _4"> </span></span>项<span class="_ _1"></span>为菜单的标题,为<span class="_ _1"></span>了可以通过键盘访<span class="_ _1"></span>问菜单,我们可以</div><div class="t m0 x1 h4 ye ff1 fs1 fc0 sc1 ls0 ws0">通过<span class="_ _1"></span>在菜<span class="_ _1"></span>单标<span class="_ _1"></span>题的<span class="_ _1"></span>某一<span class="_ _1"></span>个字<span class="_ _1"></span>母前<span class="_ _1"></span>加<span class="_ _1"></span><span class="ff3">&<span class="_ _1"></span></span>符号<span class="_ _1"></span>的方<span class="_ _1"></span>式来<span class="_ _1"></span>实现<span class="_ _1"></span>。在<span class="_ _1"></span>上面<span class="_ _1"></span>,我<span class="_ _1"></span>们分<span class="_ _1"></span>别在<span class="_ _1"></span>文件<span class="_ _1"></span>菜单<span class="_ _1"></span>项</div><div class="t m0 x1 h4 yf ff1 fs1 fc0 sc1 ls0 ws0">中输入<span class="_ _1"></span><span class="ff3"> &F <span class="_ _1"></span></span>,在新建<span class="_ _1"></span>菜单项中<span class="_ _1"></span>输入<span class="ff3"> <span class="_ _1"></span>&N </span>,<span class="_ _1"></span>则在运行<span class="_ _1"></span>时字母<span class="_ _4"> </span><span class="ff3">F<span class="_ _1"></span></span>、<span class="ff3">N </span>下<span class="_ _1"></span>会出现下<span class="_ _1"></span>划线。按<span class="_ _3"> </span><span class="ff3">Alt+F</span></div><div class="t m0 x1 h4 y10 ff1 fs1 fc0 sc1 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="_ _7"></span>。<span class="_ _7"></span><span class="ff3">Name<span class="_ _0"> </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="_ _8"> </span><span class="ff3">Index<span class="_ _0"> </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="_ _7"></span>中<span class="_ _7"></span>的<span class="_ _7"></span>索<span class="_ _7"></span>引<span class="_ _7"></span>。</div><div class="t m0 x1 h4 y11 ff3 fs1 fc0 sc1 ls0 ws0">ShoutCut<span class="_"> </span><span class="ff1">项定<span class="_ _1"></span>义该<span class="_ _1"></span>菜单<span class="_ _1"></span>项<span class="_ _1"></span>的快<span class="_ _1"></span>捷<span class="_ _1"></span>键。<span class="_ _7"></span></span>Checked<span class="_ _4"> </span><span class="ff1">复<span class="_ _1"></span>选<span class="_ _1"></span>框指<span class="_ _1"></span>定<span class="_ _1"></span>菜单<span class="_ _1"></span>是否<span class="_ _1"></span>被<span class="_ _1"></span>选中<span class="_ _1"></span>,<span class="_ _1"></span>如果<span class="_ _1"></span>选<span class="_ _1"></span>择该<span class="_ _1"></span>复</span></div><div class="t m0 x1 h4 y12 ff1 fs1 fc0 sc1 ls0 ws0">选框,则窗口上该菜单标题前会打上一个勾。<span class="_ _1"></span><span class="ff3">Enabled<span class="_ _4"> </span></span>复选框指定菜单项是否可用,如果清</div><div class="t m0 x1 h4 y13 ff1 fs1 fc0 sc1 ls0 ws0">除<span class="_ _9"></span>该<span class="_ _9"></span>复<span class="_ _9"></span>选<span class="_ _1"></span>框<span class="_ _9"></span>,<span class="_ _9"></span>则<span class="_ _9"></span>菜<span class="_ _9"></span>单<span class="_ _9"></span>项<span class="_ _9"></span>被<span class="_ _9"></span>灰<span class="_ _9"></span>度<span class="_ _9"></span>显<span class="_ _1"></span>示<span class="_ _9"></span>并<span class="_ _9"></span>不<span class="_ _9"></span>可<span class="_ _9"></span>用<span class="_ _9"></span>。<span class="_ _7"></span><span class="ff3">V<span class="_ _5"></span>isible<span class="_ _2"> </span><span class="ff1">项<span class="_ _9"></span>指<span class="_ _9"></span>定<span class="_ _9"></span>菜<span class="_ _9"></span>单<span class="_ _9"></span>项<span class="_ _1"></span>是<span class="_ _9"></span>否<span class="_ _9"></span>显<span class="_ _9"></span>示<span class="_ _9"></span>在<span class="_ _9"></span>窗<span class="_ _9"></span>体<span class="_ _9"></span>中<span class="_ _9"></span>。</span></span></div><div class="t m0 x1 h4 y14 ff3 fs1 fc0 sc1 ls0 ws0">W<span class="_ _6"></span>indowList<span class="_ _4"> </span><span class="ff1">项是设定显示<span class="_ _4"> </span></span>MDI<span class="_ _4"> </span><span class="ff1">子窗口的选项,将会在下面介绍。</span></div><div class="t m0 x2 h4 y15 ff3 fs1 fc0 sc1 ls0 ws0">VB<span class="_ _4"> </span><span class="ff1">支持的菜单项最多可以有<span class="_ _3"> </span></span>6<span class="_ _4"> </span><span class="ff1">级。在菜单列表框中,菜单项每增加一级,该菜单项前</span></div><div class="t m0 x1 h4 y16 ff1 fs1 fc0 sc1 ls0 ws0">就会多<span class="_ _3"> </span><span class="ff3">4<span class="_ _4"> </span></span>个<span class="_ _1"></span>圆点。二<span class="_ _1"></span>级菜单前<span class="_ _1"></span>有<span class="_ _3"> </span><span class="ff3">4<span class="_ _4"> </span></span>个<span class="_ _1"></span>圆点,三<span class="_ _1"></span>级前有<span class="_ _3"> </span><span class="ff3">8<span class="_"> </span></span>个,四级有<span class="_ _3"> </span><span class="ff3">12<span class="_ _3"> </span></span>个。在<span class="_ _1"></span>上面建立<span class="_ _1"></span>的菜</div><div class="t m0 x1 h4 y17 ff1 fs1 fc0 sc1 ls0 ws0">单中<span class="_ _1"></span>,<span class="_ _1"></span><span class="ff3">mFile<span class="_ _4"> </span></span>为<span class="_ _1"></span>一级<span class="_ _1"></span>菜单<span class="_ _1"></span>,<span class="_ _1"></span><span class="ff3">mFileNew<span class="_ _4"> </span></span>为<span class="_ _1"></span>二级<span class="_ _1"></span>菜单<span class="_ _1"></span>。在<span class="_ _1"></span>菜单<span class="_ _1"></span>列表<span class="_ _1"></span>框上<span class="_ _1"></span>的<span class="_ _2"> </span><span class="ff3">4<span class="_ _4"> </span></span>个<span class="_ _1"></span>方向<span class="_ _1"></span>箭头<span class="_ _1"></span>按钮<span class="_ _1"></span>就</div><div class="t m0 x1 h4 y18 ff1 fs1 fc0 sc1 ls0 ws0">是控<span class="_ _1"></span>制菜单<span class="_ _1"></span>项级<span class="_ _1"></span>别的。<span class="_ _1"></span>向左和<span class="_ _1"></span>向右<span class="_ _1"></span>箭头分<span class="_ _1"></span>别使菜<span class="_ _1"></span>单项<span class="_ _1"></span>的级别<span class="_ _1"></span>增加或<span class="_ _1"></span>者降<span class="_ _1"></span>低一级<span class="_ _1"></span>。向上<span class="_ _1"></span>和向</div><div class="t m0 x1 h4 y19 ff1 fs1 fc0 sc1 ls0 ws0">下箭<span class="_ _1"></span>头分别<span class="_ _1"></span>控制<span class="_ _1"></span>菜单项<span class="_ _1"></span>在同级<span class="_ _1"></span>菜单<span class="_ _1"></span>中上移<span class="_ _1"></span>和下移<span class="_ _1"></span>一个<span class="_ _1"></span>位置。<span class="_ _1"></span>但是菜<span class="_ _1"></span>单项<span class="_ _1"></span>级别不<span class="_ _1"></span>能跳跃<span class="_ _1"></span>,例</div><div class="t m0 x1 h4 y1a ff1 fs1 fc0 sc1 ls0 ws0">如<span class="_ _1"></span>不<span class="_ _1"></span>能<span class="_ _1"></span>在<span class="_ _1"></span>一<span class="_ _1"></span>个<span class="_ _1"></span>一<span class="_ _1"></span>级<span class="_ _1"></span>菜<span class="_ _1"></span>单<span class="_ _1"></span>项<span class="_ _1"></span>后<span class="_ _1"></span>马<span class="_ _1"></span>上<span class="_ _1"></span>跟<span class="_ _1"></span>一<span class="_ _1"></span>个<span class="_ _1"></span>三<span class="_ _1"></span>级<span class="_ _1"></span>菜<span class="_ _1"></span>单<span class="_ _1"></span>项<span class="_ _1"></span>。<span class="_ _9"></span><span class="ff3">Next<span class="_"> </span></span>按<span class="_ _1"></span>钮<span class="_ _1"></span>使<span class="_ _1"></span>焦<span class="_ _1"></span>点<span class="_ _1"></span>移<span class="_ _1"></span>到<span class="_ _1"></span>下<span class="_ _1"></span>一<span class="_ _1"></span>个<span class="_ _1"></span>菜<span class="_ _1"></span>单<span class="_ _1"></span>项<span class="_ _9"></span>,</div><div class="t m0 x1 h4 y1b ff3 fs1 fc0 sc1 ls0 ws0">Insert<span class="_ _4"> </span><span class="ff1">按钮插入一个菜单项,</span>Delete<span class="_ _4"> </span><span class="ff1">按钮删除菜单项。</span></div><div class="t m0 x2 h4 y1c ff1 fs1 fc0 sc1 ls0 ws0">介绍完菜单编辑器,再打开菜单编辑器,将程序的菜单项设计完。</div><div class="t m0 x2 h4 y1d ff1 fs1 fc0 sc1 ls0 ws0">在这<span class="_ _1"></span>个软件<span class="_ _1"></span>中,<span class="_ _1"></span>我们将<span class="_ _1"></span>只实现<span class="_ _1"></span>基本<span class="_ _1"></span>的文本<span class="_ _1"></span>编辑功<span class="_ _1"></span>能,<span class="_ _1"></span>建立、<span class="_ _1"></span>打开、<span class="_ _1"></span>保存<span class="_ _1"></span>文件,<span class="_ _1"></span>拷贝、</div><div class="t m0 x1 h4 y1e ff1 fs1 fc0 sc1 ls0 ws0">复制<span class="_ _1"></span>、粘贴<span class="_ _1"></span>等,<span class="_ _1"></span>所以在<span class="_ _1"></span>菜单中<span class="_ _1"></span>只有<span class="_ _1"></span>基本的<span class="_ _1"></span>几项:<span class="_ _1"></span>文件<span class="_ _1"></span>菜单、<span class="_ _1"></span>编辑菜<span class="_ _1"></span>单、<span class="_ _1"></span>窗口菜<span class="_ _1"></span>单和察<span class="_ _1"></span>看菜</div><div class="t m0 x1 h4 y1f ff1 fs1 fc0 sc1 ls0 ws0">单。</div><div class="t m0 x2 h4 y20 ff1 fs1 fc0 sc1 ls0 ws0">整个菜单完整结构如下:</div><div class="t m0 x1 h4 y21 ff1 fs1 fc0 sc1 ls0 ws0">菜单标题<span class="_ _a"> </span>名称<span class="_ _b"> </span>快捷键<span class="_ _c"> </span>菜单级别</div><div class="t m0 x1 h4 y22 ff1 fs1 fc0 sc1 ls0 ws0">文件<span class="ff3">[&F]</span></div><div class="t m0 x3 h5 y23 ff3 fs1 fc0 sc1 ls0 ws0">mFile</div><div class="t m0 x4 h4 y22 ff1 fs1 fc0 sc1 ls0 ws0">一级</div><div class="t m0 x1 h4 y24 ff1 fs1 fc0 sc1 ls0 ws0">新建<span class="ff3">[&N]</span></div><div class="t m0 x3 h5 y25 ff3 fs1 fc0 sc1 ls0 ws0">mFileNew<span class="_ _d"> </span>Ctrl+N</div><div class="t m0 x4 h4 y24 ff1 fs1 fc0 sc1 ls0 ws0">二级</div><div class="t m0 x1 h4 y26 ff1 fs1 fc0 sc1 ls0 ws0">打开<span class="ff3">[&O]</span></div><div class="t m0 x3 h5 y27 ff3 fs1 fc0 sc1 ls0 ws0">mFileOpen<span class="_ _e"> </span>Ctrl+O</div><div class="t m0 x1 h4 y28 ff1 fs1 fc0 sc1 ls0 ws0">保存<span class="ff3">[&S]</span></div><div class="t m0 x3 h5 y29 ff3 fs1 fc0 sc1 ls0 ws0">mFileSave<span class="_ _f"> </span>Ctrl+S</div><div class="t m0 x1 h4 y2a ff1 fs1 fc0 sc1 ls0 ws0">另存<span class="ff3">[&A]</span></div><div class="t m0 x3 h5 y2b ff3 fs1 fc0 sc1 ls0 ws0">mFileSaveAs</div><div class="t m0 x1 h4 y2c ff1 fs1 fc0 sc1 ls0 ws0">打印<span class="ff3">[&P]</span></div><div class="t m0 x3 h5 y2d ff3 fs1 fc0 sc1 ls0 ws0">mFilePrint<span class="_ _f"> </span>Ctrl+P</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>