vb打造魔法调色盘

  • 发布于:2024-01-15
  • 132 人围观
 我们编写程序或写网页时经常需要得知某种颜色的RGB值或16位进制值(例如:RGB(255,0,0)为红色,相应的16位进制值应该是#ff0000)。这时,你是否会为这么一件小事儿而去打开庞大的Photoshop或 Dreamweaver?其实根本没有这个必要,只要自己动动手,一个强大的调色盘就会出现在我们眼前!不信?下面我要为大家介绍的就是一个具有全屏取色功能的调色盘——魔法调色盘(如图1)。用鼠标点中吸管不要松开,然后移到屏幕的任意地方,该处的颜色将在调色盘中即时显示,而且还能够给出颜色的十六进制值,很有意思吧?

  现在让我们先设计程序界面。启动VB6.0并新建一个“标准EXE”工程。首先修改窗体的Name属性为“frmColor”。接着添加一个较大的图形框Picture1作为颜色显示器,和一个较小的图形框Picture2作为颜色拾取工具,注意Picture2的Icon属性和Picture1属性为同一个图标,图标任意。添加一个文本框,设置其Name属性为txtHex,用来显示相应颜色的16 位进制值。添加三个标签,Name属性分别为lblRed、lblGreen、lblBlue,以及相应的三个水平滚动条,Name属性分别为hslRed、hslGreen、hslBlue。最后设计好的窗体如图2所示。

  好了,现在我们开始编写代码。打开代码编辑器,输入以下代码:


Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_TOPMOST = -1

Private Const SWP_NOSIZE = &H1

Private Sub Form_Load()

'设置窗口在最上层

SetWindowPos frmColor.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE

'设置滚动条的范围(0-255)

hslRed.Max = 255: hslGreen.Max = 255: hslBlue.Max = 255

hslRed.LargeChange = 10: hslGreen.LargeChange = 10: hslBlue.LargeChange = 10


End Sub
滚动条箭头变化
Private Sub hslBlue_Change()

text_Change

ColorChange_hsl

End Sub

万企互联
标签: