📄 class_book_begin072.htm
字号:
</tr>
</table>
</center></div><p><a href="class_book_begin071.htm">第一页</a> 第二页 <a href="../class_book.htm">返回</a> <br>
</p>
<div align="center"><center><table border="0" cellpadding="8" cellspacing="0" width="100%">
<tr>
<td width="100%"><font size="3" color="#8000FF"><strong><em>第七章:输出(一)</em></strong></font></td>
</tr>
<tr>
<td width="100%" style="background-color: rgb(232,255,254)"><font FACE="宋体" SIZE="3"><p ALIGN="JUSTIFY">说了这么多,可能你已经不知所措了,不过看过下面的例子后,相信一切都会迎刃而解。</p>
<p ALIGN="JUSTIFY"><img src="0701.gif" alt="0701.gif (2365 字节)" WIDTH="313" HEIGHT="194"></p>
<p ALIGN="JUSTIFY">首先建立一个新项目文件,并添加以下对象(见图</font><font SIZE="3">7</font><font FACE="宋体" SIZE="3">-</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">)――一个</font><font SIZE="3">Button</font><font FACE="宋体" SIZE="3">(</font><font SIZE="3">Command1</font><font FACE="宋体" SIZE="3">),两个</font><font SIZE="3">ComboBox</font><font FACE="宋体" SIZE="3">(</font><font SIZE="3">Combo1</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">Combo2</font><font FACE="宋体" SIZE="3">),不要对其属性做更多的修改,只需把</font><font SIZE="3">Command1</font><font FACE="宋体" SIZE="3">的</font><font SIZE="3">Caption</font><font FACE="宋体" SIZE="3">改为“</font><font SIZE="3">Click Me</font><font FACE="宋体" SIZE="3">”。这个程序的目的是自由组合上面的按钮值,以显示各种消息框,并且返回按下的按钮,</font><font SIZE="3">Combo1</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">Combo2</font><font FACE="宋体" SIZE="3">分别用来选择按钮值,首先在</font><font SIZE="3">Form_Load</font><font FACE="宋体" SIZE="3">中初始化程序:</font><font SIZE="3"></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Private Sub Form_Load()</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.AddItem "OK"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.AddItem "OK and
Cancel"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.AddItem "Abort,Retry and
Ignore"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.AddItem
"Yes,No,Cancel"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.AddItem "Yes,No"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.AddItem
"Retry,Cancel"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo1.ListIndex = 0</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo2.AddItem "<font FACE="宋体" SIZE="3">危险</font>"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo2.AddItem "<font FACE="宋体" SIZE="3">询问</font>"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo2.AddItem "<font FACE="宋体" SIZE="3">警告</font>"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo2.AddItem "<font FACE="宋体" SIZE="3">信息</font>"</strong></em></font></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Combo2.ListIndex = 0</strong></em></font></p>
</blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>End Sub</strong></em></font></p>
<p ALIGN="JUSTIFY">ComboBox</font><font FACE="宋体" SIZE="3">的用法已经在上一章中讨论过,在此不再赘述,</font><font SIZE="3">ListIndex</font><font FACE="宋体" SIZE="3">属性用来把第一个元素放在选择位置。</p>
<p ALIGN="JUSTIFY">但是如何显示需要的按钮和图标呢?很简单,只需把它们相加,比如说要显示</font><font SIZE="3">OK</font><font FACE="宋体" SIZE="3">、</font><font SIZE="3">Cancel</font><font FACE="宋体" SIZE="3">按钮和警告的图标,只需把</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">48</font><font FACE="宋体" SIZE="3">相加,得到</font><font SIZE="3">49</font><font FACE="宋体" SIZE="3">即可,于是我们在</font><font SIZE="3">Command1</font><font FACE="宋体" SIZE="3">中填写这样一行:</font><font SIZE="3"></p>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080">Private Sub Command1_Click()</font></strong></em></p>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">message = MsgBox("</font><font color="#408080"><font FACE="宋体" SIZE="3">显示</font>" &
Combo1.List(Combo1.ListIndex) & "<font FACE="宋体" SIZE="3">和</font>"
& Combo2.List(Combo2.ListIndex), Combo1.ListIndex + (Combo2.ListIndex + 1) * 16,
"<font FACE="宋体" SIZE="3">消息演示</font></font><font color="#408080" SIZE="3">")</font></strong></em></p>
</blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080">End Sub</font></strong></em></font><font FACE="宋体" SIZE="3"></p>
<p ALIGN="JUSTIFY">因为图标值是从</font><font SIZE="3">16</font><font FACE="宋体" SIZE="3">开始的所以要把</font><font SIZE="3">Combo2</font><font FACE="宋体" SIZE="3">的</font><font SIZE="3">ListIndex</font><font FACE="宋体" SIZE="3">加</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">再乘以</font><font SIZE="3">16</font><font FACE="宋体" SIZE="3">。</p>
<p ALIGN="JUSTIFY"><font color="#FF0000"><strong>小知识:按钮值并非简单的相加</strong></font></p>
<p ALIGN="JUSTIFY"></font><em><strong><font color="#FF0000" FACE="宋体" SIZE="3">按钮值并非简单的相加,我们知道,在计算机里最终的语言是机器语言,而机器语言是以</font><font color="#FF0000"><font SIZE="3">0</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">的二进制表示的,在这里用到的实际上不是相加,而是逻辑操作符“</font><font SIZE="3">OR</font><font FACE="宋体" SIZE="3">”,你知道</font><font SIZE="3">OR</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">AND</font><font FACE="宋体" SIZE="3">是怎样工作的吗?正如你所知,</font><font SIZE="3">True And False</font><font FACE="宋体" SIZE="3">得到</font><font SIZE="3">False</font><font FACE="宋体" SIZE="3">,而</font><font SIZE="3">True Or False</font><font FACE="宋体" SIZE="3">得到</font><font SIZE="3">True</font><font FACE="宋体" SIZE="3">,这是怎么形成的呢?我们有时也用</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">代表</font><font SIZE="3">False</font><font FACE="宋体" SIZE="3">,用</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">或-</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">代表</font><font SIZE="3">True</font><font FACE="宋体" SIZE="3">(其实,只要非零都可以代表</font><font SIZE="3">True</font><font FACE="宋体" SIZE="3">),而</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">在二进制中还是本身,于是</font><font SIZE="3">True</font><font FACE="宋体" SIZE="3">、</font><font SIZE="3">False</font><font FACE="宋体" SIZE="3">的运算就变成的</font><font SIZE="3">0 </font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">的运算,我们可以把</font><font SIZE="3">And</font><font FACE="宋体" SIZE="3">叫做补</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">运算,把</font><font SIZE="3">Or</font><font FACE="宋体" SIZE="3">叫做补</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">运算,当用</font><font SIZE="3">And</font><font FACE="宋体" SIZE="3">处理两个二进制数的时候,它们逐位比较,如果相同的位上都是</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">或都是</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">则没有变化,而如果一位上是</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">,另一位上是</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">,最后结果上相应的位上就变成</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">。比如</font><font SIZE="3">1010</font><font FACE="宋体" SIZE="3">(十进制中</font><font SIZE="3">10</font><font FACE="宋体" SIZE="3">)</font><font SIZE="3">And 1101</font><font FACE="宋体" SIZE="3">(十进制中</font><font SIZE="3">13</font><font FACE="宋体" SIZE="3">),最后就得</font><font SIZE="3">1000</font><font FACE="宋体" SIZE="3">(十进制中</font><font SIZE="3">8</font><font FACE="宋体" SIZE="3">),相同的</font><font SIZE="3">Or</font><font FACE="宋体" SIZE="3">亦是如此,只不过在不同的地方补</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">。在位数不同时,前面补</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">,你可以在</font><font SIZE="3">VB</font><font FACE="宋体" SIZE="3">中试试看。但为什么要讲这些呢,原因是我不想让大家真的以为这个例子中就是相加,只不过碰巧它们的</font><font SIZE="3">0</font><font FACE="宋体" SIZE="3">和</font><font SIZE="3">1</font><font FACE="宋体" SIZE="3">处在不同的位置上,并且这个小知识在今后的位图操作和</font><font SIZE="3">API</font></font><font color="#FF0000" FACE="宋体" SIZE="3">操作中很有用处。</font></strong></em><font FACE="宋体" SIZE="3"></p>
<p ALIGN="JUSTIFY">下面在来判断用户按下的按钮。</font><font SIZE="3"></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Private Sub Command1_Click()</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">message = MsgBox("</font><font color="#408080"><font FACE="宋体" SIZE="3">显示</font>" &
Combo1.List(Combo1.ListIndex) & "<font FACE="宋体" SIZE="3">和</font>"
& Combo2.List(Combo2.ListIndex), Combo1.ListIndex + (Combo2.ListIndex + 1) * 16,
"<font FACE="宋体" SIZE="3">消息演示</font></font><font color="#408080" SIZE="3">")</font></strong></em></p>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Select Case message</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 1</strong></em></font></p>
</blockquote>
<blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>OK<font FACE="宋体" SIZE="3">钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
</blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 2</strong></em></font></p>
</blockquote>
<blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>Cancel<font FACE="宋体" SIZE="3">按钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
</blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 3</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>Abort<font FACE="宋体" SIZE="3">按钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 4</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>Retry<font FACE="宋体" SIZE="3">按钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 5</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>Ignore<font FACE="宋体" SIZE="3">按钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 6</strong></em></font></p>
</blockquote>
<blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>Yes<font FACE="宋体" SIZE="3">按钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
</blockquote>
<blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>Case 7</strong></em></font></p>
<blockquote>
<p ALIGN="JUSTIFY"><em><strong><font color="#408080" SIZE="3">MsgBox "</font><font color="#408080"><font FACE="宋体" SIZE="3">你按下了</font>No<font FACE="宋体" SIZE="3">按钮</font></font><font color="#408080" SIZE="3">"</font></strong></em></p>
</blockquote>
</blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>End Select</strong></em></font></p>
</blockquote>
<p ALIGN="JUSTIFY"><font color="#408080"><em><strong>End Sub</strong></em></font></font><font FACE="宋体" SIZE="3"></p>
<p ALIGN="JUSTIFY">运行程序,结果如图</font><font SIZE="3">7</font><font FACE="宋体" SIZE="3">-</font><font SIZE="3">2</font><font FACE="宋体" SIZE="3">,</font><font SIZE="3">7</font><font FACE="宋体" SIZE="3">-</font><font SIZE="3">3</font><font FACE="宋体" SIZE="3">。</p>
<p ALIGN="center"><img src="0702.gif" alt="0702.gif (3220 字节)" WIDTH="314" HEIGHT="221"><br>
<img src="0703.gif" alt="0703.gif (2798 字节)" WIDTH="314" HEIGHT="211"></p>
<p ALIGN="JUSTIFY">第七章未完待续</p>
<p ALIGN="JUSTIFY"></font><font SIZE="3"> </p>
<p></font><font face="宋体" size="3" color="#FF0000"><strong>由于时间仓促,这次就只能写这么多了,请大家多多原谅,第七章的其余部分,将在下周完成,谢谢。--Mars</strong></font></td>
</tr>
</table>
</center></div><p align="right"><strong><a href="#top"><img src="top2.gif" border="0" WIDTH="27" HEIGHT="30"></a></strong></td>
</tr>
</table>
</center></div>
<p> </p>
</body>
</html>
<!--webbot bot="HTMLMarkup" TAG="XBOT" StartSpan --></SCRIPT><!--webbot BOT="HTMLMarkup" endspan -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -