2011年全国计算机等级考试二级VB入门教程第六章(3)

文章作者 100test 发表时间 2011:05:12 00:53:44
来源 100Test.Com百考试题网


  首先,我想先对第六章的拖拖拉拉表示歉意,一是因为它实在太长了,二也是因为我自己太懒了,今天写几个字,明天添两笔,以致于写了三次才将它真正完成,还请大家原谅。

  好,废话少说,让我们赶快切入正题。上次我们讨论了无线钮和检查框的使用方法,相信你已经熟悉,因为它们实在太简单了,现在让我们继续“输入”的最后几个部分。

  滚动条(ScrollBar)在视窗中也是一个不可缺少的部分,由于面积所限,我们不得把屏幕上的内容滚来滚去,以显示大量的内容,这就是我们经常要用到的滚动条。但滚动条除去滚动窗口,还有一个很重要的作用――输入,想想你经常用到的一些家用电器上调节声音或别的什么东西的滑块,你把它滑向大的一方音量就会增大,而你把它滑向小的一方音量就会减小,或者一个控制左右两个音箱的均衡器,当滑块在正中央的时候,两个音箱的音量是相同的,当你把滑块偏向一方时,音箱的音量有了大小之分,在Windows操作中,我们也经常要用到类似的效果。

  在VB中提供了两个常规的滚动条控件――Vscroll和Hscroll,分别代表垂直的和水平的滚动条,它们只不过是方向不同而已,而它们的属性,以及会发生的事件都是相同的。,滚动条有几个特殊的属性:

  Value属性,当滑块挪动后停在某一位置时,就改变了滚动条的Value属性。

  Max和Min属性,用来设置滚动条的最大值和最小值,譬如把Max设为100,把Min设为0时,滚动条的Value就在0到100之间移动,当Max和Min倒置时,滚动条的方向也会相反,也就是说,当Max

  SmallChange和LargeChange属性,当鼠标在滚动条两头的箭头上单击时,就会把滚动条向相应的方向挪动一点,这时用到的就是SmallChange属性,当你把它设为1时,每点一下,滚动条的Value就改变1;当鼠标在滚动条上点击时,用到的就是LargeChange,当设为10时,每点击一下滚动条,Value就改变10。

  下面我们看一个实例。

  大家都知道,物体之所以会有颜色是因为物体表面的材料吸收了太阳光中的部分色光,而还有部分色光没被吸收而被反射回来,它就成了我们看到的颜色,黑色就是物体吸收了所有的太阳光的所有色光,没有反射颜色,所以在我们看来是黑的,而当物体反射了所有的色光,我们看到的就是白色。在计算机中,颜色的表示就是象我们刚才描述的样子,它把颜色分为红(R)、绿(G)和蓝(B)。众所周知,计算机的机器语言是使用二进制表示的,为了方便查阅我们看到的往往是十六进制代码,一个字节包括两位十六进制数字,从0-255(十六进制表示0-FF),而一个字节是由八位二进制数值表示(2^8,2的8次方),计算机中用分别用一个字节,也就是八位表示一种颜色,和在一起也就是三个字节(24位)表示所有的颜色,这就是我们平时常说的24位真彩,它一共可以组成256×256×256(2^24)种颜色,对于我们的肉眼,是根本分辨不出来相邻两个不同的颜色的,比如用FFFFFF表示白色,就好象我们刚才说的物体反射了所有的色光,相反的可以用000000表示黑色,它吸收了所有的色光,还可以用FF0000表示红色,在HTML语言中就是这样表示颜色的。

  小知识:现在你可以根据你的显卡的显存来计算一下显卡在24位真彩下可以以多大的分辨率显示,计算是这样的,用显存的字节数÷3(24位色)=显示器宽的象素数×显示器高的象素数,宽的象素数:高的象素数=4:3,比如4兆显存,就应该是4×1024×1024÷3=1365×1024。

  在下面的小程序中,我们通过三个滚动条分别代表R、G、B,滚动滚动条,将在右边的图片框中显示相应的颜色,并且在下面的文本框中显示颜色的十六进制数值。

  现在,新建一个项目文件,在Form1中如图6-12布局控件,各控件属性如下表:

0612.gif (3568 字节)

HsrollBar

Name Hscroll1

Index 0、1、2

(共同属性)

Max 255

Min 0

LargeChange 10

SmallChange 1

Label

Name Label1

Index 0、1、2

Index 0 Caption “红:”

Index 1 Caption “绿:”

Index 2 Caption “蓝:”

Label

Name Label2

Caption “颜色值”

TextBox

Name Text1

Text “”

PictureBox

Name Picuture1

  为了把十进制数值换成十六进制数值,要使用一个叫做Hex()的函数,它把十进制数值转化为十六进制的字符,但对于只有一位的十六进制字符,这个函数并不在高位补零,为了视觉上的正确,我设计了一个小函数帮助它给一位的十六进制字符补零.

  程序代码很简单,见下:

  Dim RedStr, GreenStr, BlueStr As String’RGB的字符
  Dim RedNum, GreenNum, BlueNum As Integer’RGB的数值

  Function GetColorValue() As String

  ‘获得输入值
  RedNum = HScroll1(0).Value
  GreenNum = HScroll1(1).Value
  BlueNum = HScroll1(2).Value

  RedStr = Hex(RedNum)
  If Len(RedStr)


相关文章


内蒙古2011年3月计算机二级成绩查询时间和方式
2011年计算机等级二级C语言章节习题及答案(13)
2011年全国计算机等级考试二级VB入门教程第七章(2)
2011年全国计算机等级考试二级VB入门教程第七章(1)
2011年全国计算机等级考试二级VB入门教程第六章(3)
2011年全国计算机等级考试二级VB入门教程第六章(2)
2011年全国计算机等级考试二级VB入门教程第六章(1)
2011年全国计算机等级考试二级VB入门教程第五章
2011年全国计算机等级考试二级VB入门教程第四章
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛