VB中的颜色设置.docx
- 文档编号:10090625
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:10
- 大小:53.11KB
VB中的颜色设置.docx
《VB中的颜色设置.docx》由会员分享,可在线阅读,更多相关《VB中的颜色设置.docx(10页珍藏版)》请在冰豆网上搜索。
VB中的颜色设置
VB中的颜色设置
界面上的彩色图形能够产生更强的视觉效果,因而越来越受到用户的重视。
在VisualBasic中,窗体、控件、图形以及文字信息都可以用不同的颜色显示。
对于所有的颜色属性和图形方法,每种颜色都由一个Long整数表示。
基于具有能处理256色或256色以上的视频适配器和显示驱动程序的系统,VisualBasic可支持256种颜色。
对于多媒体应用程序,或对于那些需要显示接近相片质量图像的应用程序来说,具有同时显示256色的功能是特别有价值的。
VisualBasic中的许多控件,有决定控件显示颜色的属性。
请记住,这些属性中有些也适用于不是图形的控件。
BackColor:
对用于绘画的窗体或控件设置背景颜色。
如果在绘图方法进行绘图之后改变BackColor属性,则已有的图形将会被新的背景颜色所覆盖。
ForeColor:
设置绘图方法在窗体或控件中创建文本或图形的颜色。
改变ForeColor属性不影响已创建的文本或图形。
BorderColor:
给形状控件边框设置颜色。
FillColor:
为用Circle方法创建的圆和用Line方法创建的方框,设置填充颜色。
一、调色板
在VB应用程序的界面设计阶段,使用调色板能够可视化地设置当前对象的颜色。
打开调色板的方法有两种:
(1) 从属性窗口找到要设置的颜色属性,单击右端的向下箭头,就弹出一个如图11-14所示的调色板,可以可视化地设定颜色。
图11-15VB的调色板
(2)另一种方法是从VB集成环境的“视图”菜单中选取“调色板”(图11-15)。
这个调色板具有更强的颜色设置功能。
它既可以设置对象的前景色、背景色,也可以进行细致的颜色调整。
图11-16颜色定义框
单击调色板左上方的设置选择框可以选定设置前景色或背景色。
这个选择框的下方右一个标有“Aa”的小方框是效果显示框。
如果觉得调色板现有的缺省颜色不够满意,可以双击第4排中的任一个小空格(或单击,然后再击“定义颜色”按钮),将弹出一个颜色定义框(图11-16)。
可以用鼠标拖动色板上带有4个黑色小方块的颜色游标和右边量度条上的三角形游标,观察效果显示框的颜色变化。
直到取得满意的颜色,单击“添加颜色按钮”,定义的颜色就出现在调色板的空格中。
这种颜色就成为可用颜色了。
当然,直接从颜色定义框的“色调”、“饱和度”、“亮度”等文本框中直接输入数据也可以定义颜色。
二、颜色参数
用调色板可以在设计阶段设置窗体或控件的颜色。
如果想在程序运行期间设置对象的颜色,就必须使用颜色参数。
在运行时指定颜色参数值的方式有四种:
(1)使用RGB函数
(2)使用QBColor函数。
(3)使用在VB的颜色常数。
(4)直接输入颜色值。
1.RGB函数
RGB是Red(红)Green(绿)Blue(蓝)的缩写,RGB函数通过三原色的值设置一种混合颜色。
RGB函数格式如下:
RGB(<红色值>,<绿色值>,<蓝色值>)
这里的<红色值>、<绿色值>、<蓝色值>均为整数,取值范围为0~255,代表混合颜色中每一种原色的分量(亮度)。
0表示亮度最低,255表示亮度最高。
如果颜色参数值超过255,会被当作255。
RGB函数由三个参数经数学组合而产生的一个Long整数值,表示一个特定的颜色值,其范围在0~16777215。
也就是说,从理论上RGB函数最多可以表示16777216种颜色,但实际上会受到系统硬件的限制。
标准CGA显示器只能同时显示16种颜色,EGA显示器支持64色、VGA显示器可显示256色。
和实际画图时一样,用红、绿、蓝三原色可以“配出”各种颜色。
例如,红、绿混合可以得到黄色,最亮的黄色用RGB函数表示为“RGB(255,255,0)”,0表示没有蓝色。
再如,白色被表示为“RGB(255,255,255)”,而“RGB(128,128,128)”表示中灰色等等。
表11-8列示了部分常见的标准颜色,以及这些颜色的红、绿、蓝三原色的成份。
表11-8常见标准颜色的RGB值
颜色
红色值
绿色值
蓝色值
黑色
0
0
0
蓝色
0
0
225
绿色
0
255
0
青色
0
255
255
红色
255
0
0
洋红色
255
0
255
黄色
255
255
0
白色
255
255
255
例如:
Form1.BackColor=RGB(0,128,0)'设定背景为绿色
Form2.BackColor=RGB(255,255,0)'设定背景为黄色
PSet(100,100),RGB(0,0,64)'设指定点为深蓝色
用Point方法,可以返回在窗体或图片框上所指定点的RGB颜色值。
格式:
[<对象名>.]Point(x,y)
例11.11本例使用Point方法来确定一个窗体上的一个指定点的颜色。
PrivateSubForm_Click()
DimLeftColor,MidColor,Msg,RightColor'声明变量
AutoRedraw=-1'打开AutoRedraw
Height=3*1440'将高度设置为3英寸
Width=5*1440'将宽度设置为5英寸
BackColor=QBColor
(1)'将背景设置为蓝色。
ForeColor=QBColor(4)'将前景设置为红色
Line(0,0)-(Width/3,Height),,BF'红框
ForeColor=QBColor(15)'将前景设置为白色
Line(Width/3,0)-((Width/3)*2,Height),,BF
LeftColor=Point(0,0)'查找左框颜色
MidColor=Point(Width/2,Height/2)'查找中框颜色
RightColor=Point(Width,Height)'查找右框颜色
Msg="Thecolornumberfortheredboxontheleftsideof"
Msg=Msg&"theformis"&LeftColor&".The"
Msg=Msg&"colorofthewhiteboxinthecenteris"
Msg=Msg&MidColor&".Thecoloroftheblue"
Msg=Msg&"boxontherightis"&RightColor&"."
MsgBoxMsg'显示信息
EndSub
2.QBColor函数
VisualBasic保留了QuickBSAIC的QBColor函数。
该函数用一个整数值对应RGB的常用颜色值。
QBColor函数的格式如下:
QBColor<颜色值>
其中“颜色值”的取值范围是0~15,共可表示16种颜色,见表11-9。
表11-9QBColor函数取值
QB颜色值
颜色
对应RGB颜色值
0
黑色
RGB(0,0,0)
1
蓝色
RGB(0,0,191)
2
绿色
RGB(0,191,0)
3
青色
RGB(0,191,191)
4
红色
RGB(191,0,0)
5
洋红色
RGB(191,0,191)
6
黄色
RGB(191,191,0)
7
白色
RGB(191,191,191)
8
灰色
RGB(64,64,64)
9
亮蓝色
RGB(0,0,255)
10
亮绿色
RGB(0,255,0)
11
亮青色
RGB(0,255,255)
12
亮红色
RGB(255,0,0)
13
亮洋红色
RGB(255,0,255)
14
亮黄色
RGB(255,255,0)
15
亮白色
RGB(255,255,255)
例11.12本例使用QBColor函数将MyForm窗体的BackColor属性,改成ColorCode参数指定的色彩。
SubChangeBackColor(ColorCodeAsInteger,MyFormAsForm)
MyForm.BackColor=QBColor(ColorCode)
EndSub
3.颜色常数
VisualBasic定义了一些颜色符号常数,包括8种常用颜色和Windows控制面板使用的系统颜色。
使用系统常量,可以使应用程序的风格与Windows控制面板类似,因而更具专业化。
这些常量的用法与前面介绍的相同。
这些常用颜色和系统颜色的对应值由表11-10和表11-11列出。
表11-10系统颜色常量
符号常数
值
描述
VbScrollBars
&H80000000
滚动条颜色
VbDesktop
&H80000001
桌面颜色
VbActiveTitleBar
&H80000002
活动窗口标题栏颜色
VbInactiveTitleBar
&H80000003
非活动窗口标题栏颜色
VbMenuBar
&H80000004
菜单背景颜色
VbWindowBackground
&H80000005
窗口背景颜色
VbWindowFrame
&H80000006
窗口框架颜色
VbMenuText
&H80000007
菜单上文字的颜色
VbWindowText
&H80000008
窗口内文字的颜色
VbTitleBarText
&H80000009
标题,尺寸框和滚动箭头内文字的颜色
VbActiveBorder
&H8000000A
活动窗口边框的颜色
VbInactiveBorder
&H8000000B
非活动窗口边框的颜色
VbApplicationWorkspace
&H8000000C
多文档界面(MDI)应用程序的背景颜色
VbHighlight
&H8000000D
控件内选中项的背景颜色
VbHighlightText
&H8000000E
控件内选中项的文字颜色
VbButtonFace
&H8000000F
绘在命令按钮正面的颜色
VbButtonShadow
&H80000010
绘在命令按钮边缘的颜色
VbGrayText
&H80000011
变灰的(无效的)文字
VbButtonText
&H80000012
揿压按钮上文字的颜色
VbInactiveCaptionText
&H80000013
非活动标题内文字的颜色
vb3DHighlight
&H80000014
三维显示元素的高亮颜色
vb3DDKShadow
&H80000015
三维显示元素的最暗阴影颜色
vb3DLight
&H80000016
低于vb3Dhighlight的三维次高亮颜色
vb3DFace
&H8000000F
文字表面的颜色
vb3DShadow
&H80000010
文字阴影的颜色
VbInfoText
&H80000017
提示窗内文字的颜色
VbInfoBackground
&H80000018
提示窗内背景的颜色
表11-11常用颜色常量
文字常数
值
颜色
vbBlack
&H0
黑色
vbRed
&HFF
红色
vbGreen
&HFF00
绿色
vbYellow
&HFFFF
黄色
vbBlue
&HFF0000
兰色
vbMagenta
&HFF00FF
洋红
vbCyan
&HFFFF00
青色
vbWhite
&HFFFFFF
白色
4.直接使用颜色设置值
使用RGB函数QBColor函数和系统内部颜色常数来指定颜色都不是直接的,因为VisualBasic只是将它们解释为与它所代表的颜色比较接近的一种颜色。
如果程序员清楚地知道VB是如何用数值来指定颜色,就可以给颜色参数和属性指定一个准确值直接指定颜色。
通常用十六进制数表示颜色值。
正常的RGB颜色的有效范围是从0到16777215(&HFFFFFF&)。
每种颜色的设置值(属性或参数)都是一个四字节的整数。
对于这个范围内的数,其高字节都是0,而低三个字节,从最低字节到第三个字节,分别定义了红、绿、蓝三种颜色的值。
红、绿、蓝三种成分都是用0到255(&HFF)之间的数表示。
因此,可以用十六进制数按照下述语法来指定颜色:
&HBBGGRR&
其中:
BB指定蓝颜色的值;
GG指定绿颜色的值;
RR指定红颜色的值。
每个数段都是两位十六进制数,即从00到FF。
中间值是80。
因此,下面的数值是这三种颜色的中间值,指定了灰颜色:
&H808080&
在Windows工作环境中,每一种颜色具有特定的意义。
这些颜色称为系统颜色,对应的颜色数值范围从&H80000000到&H80000015。
每一种系统颜色,既有所定义的常数也有直接的颜色设置值。
对系统颜色来说,其直接颜色设置值的高位字节与普通RGB颜色的高位字节是不同的。
对于RGB颜色来说,其高位字节为0,而对于系统颜色来说,其高位字节为80,剩下的数字则指示某一特定的系统颜色(见表11-10)。
例如:
&H80000002&这个十六进制数,表示为一个活动窗口的标题颜色。
设计时,通过属性窗口选择颜色属性时,选择“系统”选项卡,就能够选择系统设置值,VB将其自动转换成十六进制值。
也可在“对象浏览器”中寻找系统颜色的定义常数。
以上介绍了颜色参数的4种使用方式,程序员可以根据自己的需要选定。
例11·13该例用不同的方式使用颜色参数,画出4个矩形。
运行结果如图11-17所示。
OptionExplicit
PrivateSubForm_Click()
DimoffsetxAsInteger,offsetyAsInteger
offsetx=150
offsety=150
Line(100,100)-Step(offsetx,offsety),QBColor
(1),BF
Line-Step(offsetx*2,offsety*2),RGB(0,255,0),BF
Line-Step(offsetx*3,offsety*3),vbRed,BF
Line-Step(offsetx*4,offsety*4),&HFFFF&,BF
EndSub
图11-17用不同形式颜色参数画图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 中的 颜色 设置