⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap4_1.htm

📁 VC++编程实例。非常详细
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>4.1 工具条的可视化设计</title>
</head>

<body link="#3973DE" alink="#3973DE" background="../../bg.gif">
<font SIZE="5"><b><div align="center"><center>

<table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
  <tr>
    </b><td><div align="center"><center><table border="0" width="615" cellpadding="0"
    cellspacing="0" height="20">
      <tr>
        <td width="377" bgcolor="#15397D" height="20"></td>
        <td width="238" bgcolor="#000000" height="20"><p align="right"></font><a
        href="../../vc.htm"><span style="text-decoration: none"><font color="#FFFFFF">电脑报Visual 
        C++网络教程</font></span></a></td>
      </tr>
    </table>
    </center></div><font FACE="Times New Roman" SIZE="3"><b><p ALIGN="CENTER"></b></font><font
    color="#3973DE" FACE="Times New Roman" SIZE="3">4.1</font><font SIZE="3" color="#3973DE"> 
    工具条的可视化设计</font><font FACE="Times New Roman" SIZE="3"></p>
    <p ALIGN="JUSTIFY"></font><span style="font-size: 9pt">  从4.0版开始,Visual C++支持一种新型的工具条资源,这使得工具条的创建比以往更加方便灵活了。在MFC中,工具条的功能由类CToolBar实现。工具条资源和工具条类CToolBar是工具条的两个要素。创建工具条的基本步骤是:</span></p>
    <blockquote>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">1.创建工具条资源。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">2.构建一个CToolBar对象。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">3.调用CToolBar::Create函数创建工具条窗口。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">4.调用CToolBar::LoadToolBar载入工具条资源。</span></p>
    </blockquote>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  使用缺省配置时,AppWizard会自动创建一个工具条。如图4.1所示,这个工具条包含一些常用按钮,如打开文件、存盘、打印等等。用户可以修改这个工具条,去掉无用的按钮,加入自己需要的按钮。如果用户需要创建两个以上的工具条,则不能完全依赖AppWizard,需要自己手工创建之。本节将分别讨论这两种方法。</span><b></p>
    <p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">4.1.1利用AppWizard自动创建</font></span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  自动创建工具条很简单,请读者按以下步骤操作:</span></p>
    <ol>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">选择 File-&gt;New命令。</span></p>
      </li>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">在弹出的标签式对话框中选Projects页,然后在该页中选中MFC 
        AppWizard (exe)项,并在Project name一栏中输入Record以创建一个名为Record的工程。按回车或用鼠标点击Create按钮后就进入了MFC 
        AppWizard对话框。</span></p>
      </li>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">在MFC AppWizard对话框的第一步中选中Single 
        document。这样就会创建一个单文档应用程序,若选择Multiple documents项,则将创建一个多文档应用程序。单文档程序一次只能打开一个窗口,显示一个文档的内容,而多文档程序一次可以打开多个窗口,显示多个文档的内容。</span></p>
      </li>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">用鼠标点击Finish按钮,并在接着的对话框中按OK按钮。</span></p>
      </li>
    </ol>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  完成以上操作后,工程Record被创建并被自动载入Developer 
    Studio中。将项目工作区切换到资源视图,并展开资源,就会发现其中有一个名为IDR_MAINFRAME的Toolbar(工具条)资源。用鼠标双击“IDR_MAINFRAME”,Developer 
    Studio会打开一个功能强大的工具条资源编辑窗口,如图4.2所示。该窗口的上部显示出了工具条上的按钮,当用户用鼠标选择某一按钮时,在窗口的下部会显示该按钮的位图。在窗口旁边有一个绘图工具面板和一个颜色面板,供用户编辑按钮位图时使用。</span></p>
    <p ALIGN="center"><span style="font-size: 9pt"><img src="T4_2.gif"
    alt="T4_2.tif (116672 bytes)" WIDTH="459" HEIGHT="236"></span></p>
    <p ALIGN="center"><span style="font-size: 9pt">图4.2 工具条资源编辑窗口</span></p>
    <div align="center"><center><table border="2" cellpadding="2" cellspacing="0" width="90%"
    bgcolor="#B4B4B4">
      <tr>
        <td width="100%"><span style="font-size: 9pt"><b>提示:如果读者看不到这两个面板,请在Developer 
        Studio的工具条的空白处单击鼠标右键,并在随之弹出的菜单中选中Graphics和Colors两项。</b></span></td>
      </tr>
    </table>
    </center></div><p ALIGN="JUSTIFY"><span style="font-size: 9pt">  在修改工具条以前,首先要修改菜单资源。请按以下几步修改菜单资源:</span></p>
    <ol>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">将项目工作区切换至资源视图,选择并打开menu(菜单)资源类型,双击名为IDR_MAINFRAME的菜单资源。</span></p>
      </li>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">删除Edit菜单。</span></p>
      </li>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">删除File菜单中除Exit以外的所有菜单项。</span></p>
      </li>
      <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">在File菜单后插入一个名为&amp;Record的新菜单,并在该菜单中插入&amp;Start和St&amp;op两个菜单项,它们的命令ID(标识符)分别为ID_RECORD_START和ID_RECORD_STOP。Start表示开始录音,而Stop表示停止录音。</span></p>
      </li>
    </ol>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  修改后的菜单如图4.3所示。</span></p>
    <p ALIGN="center"><span style="font-size: 9pt"><img src="T4_3.gif"
    alt="T4_3.tif (27461 bytes)" WIDTH="251" HEIGHT="83"></span></p>
    <p ALIGN="center"><span style="font-size: 9pt">图4.3 修改后的菜单</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  接下来的任务是修改工具条资源,具体步骤是:</span></p>
    <blockquote>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">选择并打开Toolbar(工具条)资源类型,双击名为IDR_MAINFRAME的工具条资源以打开相应的资源编辑窗口。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">删除“?”按钮前面的所有按钮,删除的方法是用鼠标将要删除的按钮拖出工具条即可。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">先选中“?”按钮后面的空白按钮,然后在该按钮的放大位图上用红色画一个实心圆圈,以表示开始录音功能。再选中空白按钮,并用黑色在放大位图上画一个实心矩形,以表示停止功能。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">通过用鼠标拖动按钮调整按钮的位置,调整后的位置如图4.4所示。</span></p>
      <p ALIGN="center"><span style="font-size: 9pt"><img src="T4_4.gif"
      alt="T4_4.tif (115062 bytes)" WIDTH="458" HEIGHT="233"></span></p>
      <p ALIGN="center"><span style="font-size: 9pt">图4.4 修改后的工具条资源</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">分别为两个新加的按钮指定命令ID为ID_RECORD_START和ID_RECORD_STOP。指定ID的方法是先选中一个按钮,接着按回车键,在弹出的属性对话框中输入ID(或从ID下拉列表中分别选择ID_RECORD_START和ID_RECORD_STOP)。注意到这两个按钮的ID与Record菜单中的两个菜单项Start和Stop的ID相同,这样同样的命令既可以通过菜单执行,也可以通过工具条执行。</span></p>
      <p ALIGN="JUSTIFY"><span style="font-size: 9pt">为两个新加的按钮指定命令提示。请分别在两个按钮的属性对话框中的Prompt栏内输入Start 
      record\nStart和Stop record\nStop。命令提示实际上是作为字符串保存在String 
      Table字符串资源中的。命令提示用来解释命令的意义,分状态栏提示和工具提示两种,在Prompt栏中,二者由\n分隔开。当鼠标移动到某个菜单项或工具条上的按钮时,在状态栏中就会显示状态栏提示,当鼠标在某个按钮上停留片刻后,工具提示就会在一个黄色的弹出式窗口中显示出来。输入完成后,读者会发现Record菜单中的两个菜单项被自动加入了相同的提示信息,这说明两个按钮与两个菜单项确实是相对应的。</span></p>
      <b>
    </blockquote>
    <div align="center"><center><table border="2" cellpadding="2" cellspacing="0" width="90%"
    bgcolor="#BBFFFF">
      <tr>
        <td width="100%"></b><span style="font-size: 9pt">提示:如果觉得按钮太小,读者可以用鼠标拖动围绕按钮放大位图的虚框的右下角,把按钮放大些。注意工具条内的所有按钮都将被放大</span></td>
      </tr>
    </table>
    </center></div><p ALIGN="JUSTIFY"><span style="font-size: 9pt">  修改完后,读者可以编译并运行Record,来看看修改的结果。读者很快会注意到Start和Stop菜单项及按钮都是灰色的。这个现象是正常的,其原因将在4.2节解释。有趣的是工具条可以被拖动(请在工具条的空白地方拖动)并停泊在主框架窗口的任何其它边上,并且工具条是可以浮动的,即当用鼠标双击工具条的空白处时,工具条变成了一个浮动窗口,可被拖动到屏幕上的任意地方。这些有趣的现象将在4.2节解释。不管怎么说,创建和修改工具条的任务已经完成了。</span></p>
    <b><p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">4.1.2手工创建</font></span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  如果想要再加一个工具条,那么AppWizard就无能为力了,必须手工创建。假设Record程序的声音采样频率有11KHZ和44KHZ两档选择,现在我们的任务是再创建一个工具条,可让用户对这两种档次进行选择。本来这样的功能应该位于第一个工具条内,但为了演示工具条的手工创建,这里不妨来个多此一举。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  如果Record工程不在Developer 
    Studio中,请选择命令File-&gt;Open Workspace打开Record工程。首先要对原来的菜单进行修改,步骤如下:</span></p>
    <blockquote>
      <ol>
        <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">打开IDR_MAINFRAME菜单资源</span></p>
        </li>
        <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">双击Record菜单底端的空白项,在其属性窗口中选中Separator,这样就加入了一条分隔线。</span></p>
        </li>
        <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">在分隔线下面加入两个菜单项,其属性如表4.1所示。</span></p>
        </li>
      </ol>
    </blockquote>
    <p><b> </p>
    <p ALIGN="CENTER"><span style="font-size: 9pt">表4.1 菜单项的属性</span></b></p>
    <table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
      <tr>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">Caption</span></td>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">ID</span></td>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">Prompt</span></td>
      </tr>
      <tr>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">&amp;Low quality</span></td>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">ID_LOW_QUALITY</span></td>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">Low quality(11k)\n11k</span></td>
      </tr>
      <tr>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">&amp;High quality</span></td>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">ID_HIGH_QUALITY</span></td>
        <td WIDTH="33%"><p ALIGN="CENTER"><span style="font-size: 9pt">High quality(44k)\n44k</span></td>
      </tr>
    </table>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">  接着要创建一个新的工具条资源,请按以下步骤进行:</span></p>
    <blockquote>
      <blockquote>
        <p ALIGN="JUSTIFY"><span style="font-size: 9pt">选择Insert-&gt;Resource命令,然后在Insert 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -