vb打造魔法调色盘
•程序设计•2012/3/2• 1421
我们编写程序或写网页时经常需要得知某种颜色的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
- 文章分类
- 程序设计
打开微信,点击底部的“发现”,使用“扫一扫”即可将网页分享至朋友圈。