一个获取颜色分量值的VB程序

Author: 元晋豫 Date: 1998年 第25期 13版

  在开发应用软件时,常常需要对一些图形、区域、字符等设置一种恰当的颜色,使用户界面更加美观。有时因系统提供的颜色种类不能满足设计者的需要,就需调用RGB()函数来完成设计要求,但红、绿、蓝三种颜色分量值各设置多少才能符合需要呢?显然靠估计需要一遍遍的调试程序,很麻烦,为此笔者用VB5编制了一个获取颜色分量值的程序,为软件设计者准确选取颜色值提供了一个方便简捷的途径。下面介绍实现步骤:
  步骤一:启动VB5,新建一窗体,取默认名称Form1,设置属性为“获取颜色分量值”。
  步骤二:在窗体正上方创建一个标签Label1,名称设置为ColorLabel,Caption设置为空,BorderStyle设置为1。
  步骤三:连续创建三个文本框,调整大小和位置,使它们按水平方向均匀排列在标签下方,名称分别为RedText、GreenText和BlueText,Caption属性都设为空。
  步骤四:连续创建三个水平滚动条,调整大小和位置,使它们按水平方向均匀排列在三个文本框相对应的正下方,名称分别为RedHScroll、GreenHScroll和BlueHScroll,Max属性都设为255,Min属性都设为0,SmallChang属性都设为1,LargeChange属性都设为10。
  步骤五:在窗体模块Form1.frm中填入下列代码:
  Private Sub Form_ Load()
  RedHScroll.Value=192
  GreenHScroll.Value=192
  BlueHScroll.Value=192
  ColorLabel.BackColor=RGB(192,192,192)
  End Sub
  Private Sub BlueHScroll_ Change()
  ChangeColor
  BlueText.Text=″B=″+CStr(BlueHScroll.Value)
  End Sub
  Private Sub GreenHScroll_ Change()
  ChangeColor
  GreenText.Text=″G=″+CStr(GreenHScroll.Value)
  End Sub
  Private Sub RedHScroll_Change()
  ChangeColor
  RedText.Text=″R=″+CStr(RedHScroll.Value)
  End Sub
  Private Sub ChangeColor()
  ColorLabel.BackColor=RGB(RedHScroll.Value,GreenHScroll.Value,BlueHScroll.Value)
  End Sub
  本程序运行后,调节R、G、B三个滚动条,当标签区域显示的颜色达到所需值时,三个文本框中数值即为红、绿、蓝颜色分量值。