上一章里,我们讨论的VB的输人机制,这次我们来集中讨论VB中信息的输出。

输入和输出是不可分割的,人们输入的最终目的是希望计算机作出反应,任何一个程序都不可能避开这个问题,所以就算要完成一个最基本的程序,也要有输出的部分,复杂的程序更是如此。

在输入的一章里,我们学习的第一个输入方法是InputBox,相应的在输出中我们第一个要接触的是MsgBox(Message Box),和InputBox相似,MsgBox也是简化了的窗体,可以以函数的形式返回操作。它的基本语法是:

MsgBox "显示内容",按钮值,"标题"

通过这个函数可以产生一个标准的Windows消息框,象我们平时经常接触的“Yes/No”、“OK/Cancel”,“Retry/Abort/Ignore”等等,这些都是在按钮值中设定的,按钮值如下:数值含义

0OK

1OK和Cancel

2Abort、Retry和Ignore

3Yes、No和Cancel

4Yes和No

5Retry和Cancel

并且不同的消息可以搭配不同的图标,比如帮助文件用问号,一般提示用一个圈里一个I等等,它们也是按钮值的一部分:数值含义

16表示危险

32表示问号

48表示警告

64表示信息

但是如何既显示按钮也显示相应的图标呢,请看一会儿下面的例子。前面说过,MsgBox是函数,那么它就会有返回值,当你按下某个按钮就会返回一个数值,以便对用户不同动作的捕捉,返回值如下:数值含义

1OK

2Cancel

3Abort

4Retry

5Ignore

6Yes

7No

说了这么多,可能你已经不知所措了,不过看过下面的例子后,相信一切都会迎刃而解。

首先建立一个新项目文件,并添加以下对象(见图7-1)――一个Button(Command1),两个ComboBox(Combo1和Combo2),不要对其属性做更多的修改,只需把Command1的Caption改为“Click Me”。这个程序的目的是自由组合上面的按钮值,以显示各种消息框,并且返回按下的按钮,Combo1和Combo2分别用来选择按钮值,首先在Form_Load中初始化程序:

Private Sub Form_Load()

Combo1.AddItem "OK"

Combo1.AddItem "OK and Cancel"

Combo1.AddItem "Abort,Retry and Ignore"

Combo1.AddItem "Yes,No,Cancel"

Combo1.AddItem "Yes,No"

Combo1.AddItem "Retry,Cancel"

Combo1.ListIndex = 0

Combo2.AddItem "危险"

Combo2.AddItem "询问"

Combo2.AddItem "警告"

Combo2.AddItem "信息"

Combo2.ListIndex = 0

End Sub来源:-计算机二级考试

ComboBox的用法已经在上一章中讨论过,在此不再赘述,ListIndex属性用来把第一个元素放在选择位置。

但是如何显示需要的按钮和图标呢?很简单,只需把它们相加,比如说要显示OK、Cancel按钮和警告的图标,只需把1和48相加,得到49即可,于是我们在Command1中填写这样一行:

Private Sub Command1_Click()

message = MsgBox("显示" & Combo1.List(Combo1.ListIndex) & "和" & Combo2.List(Combo2.ListIndex), Combo1.ListIndex + (Combo2.ListIndex + 1) * 16, "消息演示")

End Sub

因为图标值是从16开始的所以要把Combo2的ListIndex加1再乘以16。

小知识:按钮值并非简单的相加

按钮值并非简单的相加,我们知道,在计算机里最终的语言是机器语言,而机器语言是以0和1的二进制表示的,在这里用到的实际上不是相加,而是逻辑操作符“OR”,你知道OR和AND是怎样工作的吗?正如你所知,True And False得到False,而True Or False得到True,这是怎么形成的呢?我们有时也用0代表False,用1或-1代表True(其实,只要非零都可以代表True),而0和1在二进制中还是本身,于是True、False的运算就变成的0 和1的运算,我们可以把And叫做补0运算,把Or叫做补1运算,当用And处理两个二进制数的时候,它们逐位比较,如果相同的位上都是0或都是1则没有变化,而如果一位上是0,另一位上是1,最后结果上相应的位上就变成0。比如1010(十进制中10)And 1101(十进制中13),最后就得1000(十进制中8),相同的Or亦是如此,只不过在不同的地方补1。在位数不同时,前面补0,你可以在VB中试试看。但为什么要讲这些呢,原因是我不想让大家真的以为这个例子中就是相加,只不过碰巧它们的0和1处在不同的位置上,并且这个小知识在今后的位图操作和API操作中很有用处。

下面在来判断用户按下的按钮。

Private Sub Command1_Click()

message = MsgBox("显示" & Combo1.List(Combo1.ListIndex) & "和" & Combo2.List(Combo2.ListIndex), Combo1.ListIndex + (Combo2.ListIndex + 1) * 16, "消息演示")

Select Case message

Case 1

MsgBox "你按下了OK钮"

Case 2

MsgBox "你按下了Cancel按钮"

Case 3

MsgBox "你按下了Abort按钮"

Case 4

MsgBox "你按下了Retry按钮"

Case 5

MsgBox "你按下了Ignore按钮"

Case 6

MsgBox "你按下了Yes按钮"

Case 7

MsgBox "你按下了No按钮"

End Select

End Sub

运行程序,结果如图7-2,7-3。

全国计算机等级考试二级教程第七章,2012年全国计算机等级考试二级VB入门教程第七章(1)...相关推荐

  1. 魔方教程一步一步图解(史上最简单的魔方入门教程)新手一看就会

    IT数学系列最常见的魔方是三阶魔方,是匈牙利布达佩斯建筑学院厄尔诺·鲁比克教授在1974年发明的.魔方教程一步一步图解新手一看就会. 魔方教程一步一步图解 魔方共6色6面,每面又分为中央块(最中间的块 ...

  2. 2012秋江苏省计算机二级上机试题,2011秋-2012秋江苏计算机等级考试上机

    [对2011年10月16日江苏省高校计算机等级考试C语言上机题的评价:] 经过对C01和C02两套上机题的分析和考生现场考试状态观察,本次上机考试的难度与2011春相比有所下降,具体分析总结如下: 1 ...

  3. 计算机二级编程题特殊解法,2012年全国计算机二级VF笔试专家密押试卷一

    二级Visual FoxPrO程序设计专家密押试卷一 (考试时间90分钟,满分100分) 一.选择题(每题2分.共70分) 下列各题A..B..C.. D.四个选项中,只有一个选择是正确的,请将正确选 ...

  4. vb入门教程-第一章HELLO WORLD

    本文来自:http://www.docsky.com/show.asp?id=2068一共四章将陆续贴出,请关注 第一章 HELLO WORLD! 没学过编程的人常常会问,编程难不难,这个问题很难回答 ...

  5. kodi教程_超级详细,步步有图 最详细的KODI入门教程

    来源:新浪众测 作者:黄昏百分百 大家好,我是黄昏百分百,今天为大家带来的是全平台视频播放软件KODI的基础设置攻略,主要包含了中文界面的设置,SMB的挂载,以及扫描视频资源进入媒体库等功能的设置方法 ...

  6. python twisted教程_Python Twisted 学习系列20(转载stulife最棒的Twisted入门教程)

    第二十部分 轮子中的轮子: Twisted和Erlang 简介 在这个系列中,有一个事实我们还没有介绍,即混合同步的"普通Python"代码与异步Twisted代码不是一个简单的任 ...

  7. 51自学网AutoCAD2014室内设计 AutoCAD2009施工图教程 CAD布局及规范作图教程 室内手绘入门教程...

    我要自学网平面设计 计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程  我要自学网Excel函数应用教程 Excel VBA基础教程 ...

  8. TurboLinux入门教程:第六课Linux与其他操作系统的区别(转)

    TurboLinux入门教程:第六课Linux与其他操作系统的区别(转) 第六课 Linux 与其他操作系统的区别 目前运行在 PC 机上的操作系统主要有 Microsoft 的 MS-DOS . W ...

  9. TurboLinux入门教程:第八课进入与退出系统(转)

    TurboLinux入门教程:第八课进入与退出系统(转) 第八课 进入与退出系统 TurboLinux是一个多用户的操作系统,用户要使用该系统,首先必须登录系统,使用完系统后,必须退出系统.本章主要讨 ...

最新文章

  1. Linq to SQL 资源
  2. windows2008的功能介紹及其与2003的差异
  3. 2020-12-07 Halcon初学者知识【2】打开图像和显示
  4. BLAS+BLACS+LAPACK+SCALAPACK安装
  5. 东北师范大学计算机学院的导师,东北师范大学计算机科学与信息技术学院研究生导师简介-王佳男...
  6. 如何用Chrome读懂网站监测Cookie
  7. ./configure,make,make install 的作用
  8. oracle 基础查询语句
  9. 【算法】如何将一个文件分割成多份(C,Java语言实现)
  10. 金盾播放器android安卓,金盾跨平台视频加密系统
  11. 系统镜像ISO写入U盘
  12. iconfont字体图标下载及使用方法
  13. Command Line Tools下载不下来,则可以去官网下载
  14. Java程序二进制转化为十进制_用java程序实现二进制像十进制转化或十进 – 手机爱问...
  15. 数据挖掘简答知识点总结
  16. 实验室信息管理系统LIMS的25个典型模块
  17. php快捷方式 图标ie,pubwin删除IE快捷方式并自行创建IE快捷方式的问题解决方法...
  18. QQ聊天记录备份助手 v1.0——搜索、备份、恢复QQ聊天记录文件,重装系统必备...
  19. 怎样将PDF转成JPG?PDF转换图片其实很简单
  20. CStdioFile之ReadString()与WriteString()注意事项

热门文章

  1. Apriori算法进行关联分析(2)
  2. 判断文件是否被占用的两种方法
  3. for update造成的Oracle锁表与解锁
  4. dwz中弹出的窗口页面如何获取前页面(点击按钮的页面)的元素???
  5. Flex学习记录(一)——MXML基本知识
  6. mysql用唯一约束避免重复_mysql中创建唯一约束防止数据重复
  7. 编译安装日志分析平台 elk + beats(个人感觉不错1)
  8. centos安装php扩展soap实现webservice(已经做测试)
  9. Go操作mysql实现增删改查及连接池
  10. MySQL 存储引擎(MyISAM、InnoDB、NDBCluster)