VB中的颜色设置Word格式文档下载.docx
《VB中的颜色设置Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VB中的颜色设置Word格式文档下载.docx(10页珍藏版)》请在冰点文库上搜索。
(或单击,然后再击“定义颜色”按钮),将弹出一个颜色定义框(图11-16)
可以用鼠标拖动色板上带有4个黑色小方块的颜色游标和右边量度条上的三角形游标,观察效果显示框的颜色变化。
直到取得满意的颜色,单击“添加颜色按钮”,定义的颜色就出现在调色板的空格中。
这种颜色就成为可用颜色了。
当然,
直接从颜色定义框的“色调”、“饱和度”、“亮度”等文本框中直接输入数据也可以定义颜色二、颜色参数
用调色板可以在设计阶段设置窗体或控件的颜色。
如果想在程序运行期间设置对象的颜色,就必须使用颜色参数。
在运行时指定颜色参数值的方式有四种:
(1)使用RGB函数
(2)使用QBColor函数。
(3)使用在VB的颜色常数。
(4)直接输入颜色值。
1.RGB函数
RGB是Red(红)Green(绿)Blue(蓝)的缩写,RGB函数通过三原色的值设置一种混合颜色。
RGBS数格式如下:
RGB(<
红色值>
<
绿色值>
蓝色值>
)
这里的<
红色值>
、<
绿色值>
蓝色值>
均为整数,取值范围为0〜255,代表混合颜色中每一种原色的分量(亮度)。
0表示亮度最低,255表示亮度最高。
如果颜色参数值超过255,会被当作255。
RGB函数由三个参数经数学组合而产生的一个Long整数值,表示一个特定的颜色值,其范围在0〜16777215c也就是说,从理论上RGBS数最多可以表示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值
颜色
红色值
绿色值
蓝色值
黑色
蓝色
225
绿色
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方法来确定一个窗体上的一个指定点的颜色
AutoRedraw=-1
打开AutoRedraw
Height=3*1440
将高度设置为
英寸
Width=5*1440
将宽度设置为
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
colorofthewhiteboxinthecenteris
MidColor&
.Thecoloroftheblue
boxontherightis"
RightColor&
MsgBoxMsg'
显示信息
2.QBColor函数
VisualBasic保留了QuickBSAIC的QBColor函数。
该函数用一个整数值对应RGB的常用颜色值。
QBColor函数的格式如下:
QBColorv颜色值>
其中“颜色值”的取值范围是0〜15,共可表示16种颜色,见表11-9
表11-9QBColor函数取值
QB颜色值
对应RGB颜色值
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
活动窗口标题栏颜色
VblnactiveTitleBar
H80000003
非活动窗口标题栏颜色
VbMenuBar
H80000004
菜单背景颜色
VbWindowBackground
H80000005
窗口背景颜色
VbWindowFrame
H80000006
窗口框架颜色
VbMenuText
H80000007
菜单上文字的颜色
VbWindowText
H80000008
窗口内文字的颜色
VbTitleBarText
H80000009
标题,尺寸框和滚动箭头内文字的颜色
VbActiveBorder
H8000000A
活动窗口边框的颜色
VblnactiveBorder
H8000000B
非活动窗口边框的颜色
VbApplicationWorkspace
H8000000C
多文档界面(MDI)应用程序的背景颜色
VbHighlight
H8000000D
控件内选中项的背景颜色
VbHighlightText
H8000000E
控件内选中项的文字颜色
VbButtonFace
H8000000F
绘在命令按钮正面的颜色
VbButtonShadow
H80000010
绘在命令按钮边缘的颜色
VbGrayText
H80000011
变灰的(无效的)文字
VbButtonText
H80000012
揿压按钮上文字的颜色
VblnactiveCaptionText
H80000013
非活动标题内文字的颜色
vb3DHighlight
H80000014
三维显示元素的高亮颜色
vb3DDKShadow
H80000015
三维显示元素的最暗阴影颜色
vb3DLight
H80000016
低于vb3Dhighlight的三维次高亮颜色
vb3DFace
文字表面的颜色
vb3DShadow
文字阴影的颜色
VbInfoText
H80000017
提示窗内文字的颜色
VblnfoBackground
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到&
每一种系统颜色,既有所定义的常数也有直接的颜色设置值。
对系统颜色来说,其直接颜色设置值的高位字节与普通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
图11-17用不同形式颜色参数画图