中易网

请教1个VB6中颜色值得问题。

答案:2  悬赏:10  
解决时间 2021-01-16 10:16
  • 提问者网友:轮囘Li巡影
  • 2021-01-16 00:41
请教1个VB6中颜色值得问题。
最佳答案
  • 二级知识专家网友:上分大魔王
  • 2021-01-16 01:05
正常的 RGB 颜色的有效范围,是从 0 到 16,777,215 (&HFFFFFF&)。每种颜色的设置值(属性或参数)都是一个四字节的整数。对于这个范围内的数,其高字节都是 0,而低三个字节,从最低字节到第三个字节,分别定义了红、绿、蓝三种颜色的值。红、绿、蓝三种成分都是用 0 到 255 (&HFF) 之间的数表示。


因此,可以用十六进制数按照下述语法来指定颜色:&HBBGGRR&


BB 指定蓝颜色的值,GG 指定绿颜色的值,RR 指定红颜色的值。每个数段都是两位十六进制数,即从 00 到 FF。中间值是 80。因此,下面的数值是这三种颜色的中间值,指定了灰颜色:
&H808080&


将最高位设置为 1,就改变了颜色值的含义:颜色值不再代表一种 RGB 颜色,而是一种从
Windows“控制面板”指定的环境范围颜色。这些数值对应的系统颜色范围是从 &H80000000 到 &H80000015。


注意 尽管可以指定 1,600 万种以上的不同颜色,但并不是所有的系统都能精确地显示出来。
Private Sub Command1_Click()
Static x As Byte
x = x + 1
Select Case x
Case 1
Me.BackColor = &HFF& 'red
Case 2
Me.BackColor = &HFF00& 'green
Case 3
Me.BackColor = &HFF0000  'blue
Case 4
Me.BackColor = &HFFFFFF 'white
Case 5
Me.BackColor = &H0& 'black
End Select
If x = 5 Then x = 0

End Sub
全部回答
  • 1楼网友:冷風如刀
  • 2021-01-16 01:44
统一用RGB颜色组合,出来的就一定一样了。
追问:嗯,这个我会,我就想知道属性面板里的那个值是怎么回事。因为我是教书,要是学生问我我也说不知道,不太好。
追答:不同产品,属性值标准不一样。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息