Visual Basic 挑选颜色
窗体和图片都有两个关于颜色的属性BackColor和ForeColor。在设计时指定颜色属性比较简单,只要在属性窗口中单击相应的属性就可以直接利用调色板进行颜色的选择。而在程序运行中要设计颜色就没有这么直观了,程序员可以使用Visual Basic预先定义好的颜色常量指定颜色,也可以使用RGB函数生成一个颜色。
通过设置值的改变,可以将屏幕显示的颜色调成16色、256色,甚至达到有千万种色彩的真彩色模式。其实,不管使用哪一种显示模式,对计算机或一般电视画面来说,都是运用三种原色:红色、绿色和蓝色。
Visual Basic提供了两个处理颜色的函数RGB和QBColor函数。其中RGB函数比较常用,它用于在运行时指定颜色值,语法格式为:
RGB(red, green, blue)
其中,red,green,blue指三种颜色的成分,取值在0~255之间。如果超过255也看成是255。常见的标准颜色及其三种颜色的成分值如表8.2所示。
表8.2 常见的标准颜色RGB值
颜 色 | 红 色 值 | 绿 色 值 | 蓝 色 值 |
黑色 | 0 | 0 | 0 |
蓝色 | 0 | 0 | 255 |
绿色 | 0 | 255 | 0 |
青色 | 0 | 255 | 255 |
红色 | 255 | 0 | 0 |
洋红色 | 255 | 0 | 255 |
黄色 | 255 | 255 | 0 |
白色 | 255 | 255 | 255 |
例如,将窗体的背景色设置为黄色:
Form1.BackColor = RGB(255, 255, 0)
【例8.1】 利用滚动条设计一个调色板。
在窗体上添加3个水平滚动条(数组形式)用于调整红色、绿色及蓝色的值,并将其Min属性设为0、Max属性设为255。添加3个标签用于表示滚动条的当前数值。添加4个图片框,Picture1用于响应调出的颜色,并将另外3个BackColor属性设为红色、绿色及蓝色,如图8.2所示。

图8.2 调色板范例
编写滚动条的事件代码:
Private Sub HScroll1_Change(Index As Integer)
Picture1.BackColor = RGB(HScroll1(0), HScroll1(1), HScroll1(2))
For i = 0 To 2
label1(i).Caption = HScroll1(i).Value
Next
End Sub
颜色函数QBColor用来表示所对应颜色的RGB颜色码,其语法格式为:
QBColor(color)
其中,Color参数是一个介于0~15的整型值,每种颜色值对应的颜色如表8.3所示。
表8.3 QBColor参数的设置值
值 | 颜 色 | 值 | 颜 色 |
0 | 黑色 | 8 | 灰色 |
1 | 蓝色 | 9 | 亮蓝色 |
2 | 绿色 | 10 | 亮绿色 |
3 | 青色 | 11 | 亮青色 |
4 | 红色 | 12 | 亮红色 |
5 | 洋红色 | 13 | 亮洋红色 |
6 | 黄色 | 14 | 亮黄色 |
7 | 白色 | 15 | 亮白色 |
例如,将窗体的前景颜色设置为蓝色:
Form1.ForeColor = QBColor(1)
VB将经常使用的颜色值定义为内部常数,这些常数可以使用对象浏览器列出。当使用这些内部常数时,无需了解这些常数是如何产生的,也无需声明。例如,无论什么时候想指定红色作为颜色参数或颜色属性的设置值,都可以使用常数vbRed:
BackColor = vbRed
