vb打造魔法调色盘节能

我们编写程序或写页时经常需要得知某种颜色的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 nd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE

''设置滚动条的范围()

x = 255: x = 255: x = 255

rgeChange = 10: rgeChange = 10: rgeChange = 10

End Sub

滚动条箭头变化

Private Sub hslBlue_Change()

text_Change

ColorChange_hsl

End Sub

[下一页]

''滚动块变化

Private Sub hslBlue_Scroll()

text_Change

ColorChange_hsl

End Sub

Private Sub hslGreen_Change()

text_Change

ColorChange_hsl

End Sub

Private Sub hslGreen_Scroll()

text_Change

ColorChange_hsl

End Sub

Private Sub hslRed_Change()

text_Change

ColorChange_hsl

End Sub

Private Sub hslRed_Scroll()

text_Change

ColorChange_hsl

End Sub

''文本框内容变化

Private Sub text_Change()

Dim strRedv, strGreenv, strbluev As String

ption = "R: " lue

ption = "G: " lue

ption = "B: " lue

strRedv = Hex(lue)

strGreenv = Hex(lue)

strbluev = Hex(lue)

xt = "#" strRedv strGreenv strbluev

End Sub

''picture1的背景颜色变化

Private Sub ColorChRemedy 承诺会在近期向玩家透漏更多有趣的新消息ange_hsl()

ckColor = RGB(lue, lue, lue)

End Sub

按F5编译运行程序,呵呵,我们已经得到一个具备常用功能的调色盘程序了。但是,这个程序暂时还不支持全屏取色功能,还需要进一步修改。

[下一页]

为了得到全屏取色功能,我们需要调用一些额外的API函数。首先点击VB菜单条中的“外接程序(Add-Ins)/外接程序管理器(Add-In Manager)”打开外接程序管理器窗口,在可用外接程序中选择“VB API Viewer”选项,确认已经选中“加载/卸载”复选框后点击“确定”,以后你就可以从菜单的“外接程序”中加载“VB API Viewer”了。打开“VB API Viewer”,点击“文件/加载文本文件”,在“选择一个文本API”对话框中打开 “WIN32API”文件。接着,先把“API类型”设为“声明”,并设置“ 声明范围”为“私有”,依次添加BitBlt、GetCursorPos、GetDC、GetPixel、 ScreenToClient、WindowFromPoint函数到“选定项”窗口中。然后设置 “API类型”为“类型”,添加“POINTAPI”类型到“选定项”窗口中。OK,按下“插入”按钮把代码粘贴到我们的“frmColor”中。下面就是程序中所有必需的函数说明:

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 Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Lo从泥工匠变身家庭农场主ng, ByVal dwRop As Long) As Long

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

End Sub

风湿病
宝宝肚胀气怎么办
一岁半的孩子肚子胀