六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用VB編寫一個屏幕顏色拾取器

[摘要]設計狀態下窗口中添加兩個Frame控件做為容器,加入二個PictureBox控件,一個PictureClip控件(其中裝入一個設計好的鼠標指針Mask圖片),兩個文本框控件,幾個Label控件,兩個Command控件,一個CheckBox控件。代碼如下:Option ExplicitPrivate...
設計狀態下窗口中添加兩個Frame控件做為容器,加入二個PictureBox控件,一個PictureClip控件(其中裝入一個設計好的鼠標指針Mask圖片),兩個文本框控件,幾個Label控件,兩個Command控件,一個CheckBox控件。



代碼如下:

Option Explicit

Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
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 Long, ByVal dwRop As Long) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal Height As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Sub 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)
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40

Private Type POINTAPI
X As Long
Y As Long
End Type

Private Const SRCCOPY = &HCC0020
Private Const SRCAND = &H8800C6
Private Const SRCPAINT = &HEE0086

Dim MousePos As POINTAPI
Dim oldMousePos As POINTAPI

Private Sub Check1_Click()
'設置頂層窗口
If Check1.Value = 1 Then
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub

Private Sub Command1_Click()
'開始停止捕捉屏幕
If Command1.Caption = "停止" Then
Command1.Caption = "開始"
Timer1.Enabled = False
Else
Command1.Caption = "停止"
Timer1.Enabled = True
End If
End Sub

Private Sub Command2_Click()
'退出程序
Unload Me
End Sub

Private Sub Form_Activate()
'程序啟動后自動設置頂層窗口
Check1.Value = 1
End Sub

Private Sub Timer1_Timer()
Dim WindowDC As Long
Dim Color As Long
Dim r As Integer, b As Integer, g As Integer
GetCursorPos MousePos '獲取鼠標當前坐標
'If MousePos.X = oldMousePos.X And MousePos.Y = oldMousePos.Y Then Exit Sub '若未移動則返回
Frame1.Caption = "坐標(" & MousePos.X & "," & MousePos.Y & ")"
oldMousePos = MousePos
WindowDC = GetWindowDC(0) '獲取屏幕的設備場景
Color = GetPixel(WindowDC, MousePos.X, MousePos.Y) '獲取鼠標所指點的顏色
'分解RGB顏色值
r = (Color Mod 256)
b = (Int(Color \ 65536))
g = ((Color - (b * 65536) - r) \ 256)
Label1.BackColor = RGB(r, g, b)
Text1.Text = r & "," & g & "," & b
Text2.Text = WebColor(r, g, b)
'將以鼠標位置為中心的9*9的屏幕圖像放大
StretchBlt Picture1.hDC, 0, 0, 73, 73, WindowDC, MousePos.X - 4, MousePos.Y - 4, 9, 9, SRCCOPY
'將一個鼠標指針用Mask的方法透明的畫到放大的圖像中
Picture2.Picture = PictureClip1.GraphicCell(1)
BitBlt Picture1.hDC, 37, 37, 12, 21, Picture2.hDC, 0, 0, SRCAND
Picture2.Picture = PictureClip1.GraphicCell(0)
BitBlt Picture1.hDC, 37, 37, 12, 21, Picture2.hDC, 0, 0, SRCPAINT
'獲得是否按了熱鍵F12
If GetAsyncKeyState(vbKeyF12) <> 0 Then
Timer1.Enabled = False
Command1.Caption = "開始"
End If
End Sub

Private Function WebColor(r As Integer, g As Integer, b As Integer) As String
'將10進制RGB值轉為Web顏色值
WebColor = "#" & INT2HEX(r) & INT2HEX(g) & INT2HEX(b)
End Function

Private Function INT2HEX(Value As Integer) As String
'10進制轉16進制
INT2HEX = Hex(Value)
If Len(INT2HEX) = 1 Then
INT2HEX = "0" & INT2HEX
End If
End Function


主站蜘蛛池模板: 亚洲综合视频在线观看 | 婷婷综合亚洲 | 亚洲美女视频一区 | 日本人欧美xx| 在线看日本吃奶孕交 | 日本大蕉香蕉大视频在线观看 | 欧美性色黄大片四虎影视 | 性欧美高清极品猛交 | 四虎网址在线观看 | 一区福利视频 | 新男人天堂 | 日本亚洲欧美在线 | 亚洲视频一二区 | 亚洲综合15p | 天天想天天干 | 日韩经典中文字幕 | 青青草原在线免费观看视频 | 午夜影视体验区 | 在线观看国产一区二三区 | 在线观看亚洲欧美 | 又粗又大又硬又爽的免费视频 | 日本免费乱理伦片在线观看2018 | 亚洲欧洲精品视频在线观看 | 色香天天 | 字幕网中文aⅴ资源站 | 亚洲男人的天堂在线播放 | 网站在线观看 | 天天干天天玩天天操 | 亚洲成在人线av | 午夜色影院 | 日本成人社区 | 天天操天天摸天天曰天天干天天弄天天干 | 日韩欧美中文在线 | 欧美亚洲国产另类 | 欧洲一区在线观看 | 宇都宫紫苑日韩专区亚洲 | 五福影院新址进入www1378 | 午夜啪啪片 | 五月天色网址 | 色婷婷丁香 | 网站一级片|