Re: [VB6 ] 請問滑鼠偵測的問題

作者: hayabusasean ( ~ ~ ~ )   2013-12-10 11:41:24
※ 引述《JOUMAX (JOUMAX)》之銘言:
: 大家好,想請問一下滑鼠偵測的問題
: 是這樣的,我想寫一個測LCD的程式
: 比如說有12個顏色,按一下滑鼠左鍵就換一個顏色
: 12個按完就自動結束,中途按右鍵則跳出
: (DisplayX公司用起來很慢,不知為什麼,其他的他們又不喜歡)
: 所以才想自己學VB自己寫。。。
: 今天試了一下:
: Private Sub Form_MouseDown(button As Integer, Shift As Integer, X As Single,
: Y As Single)
: If button = 1 Then
: Form1.WindowState = 2
: Form1.BorderStyle = 0
: BackColor = RGB(255,255,0)
: End If
: If Button = 2 Then
: End
: End If
: End Sub
: 現在這樣執行以後,點選滑鼠任意鍵,工作視窗是會放到最大,
: 然後變換成我要的顏色沒錯,按右鍵則是跳出來
: 可是想請問,那我想再按一下左鍵
: 換下個顏色,要怎麼做呢@@?
用API,GetAsyncKeyState (滑鼠左鍵按下:&H1)試試?
'取得鍵盤滑鼠狀態(不論程式是否得到駐點)
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
建一個Timer , 設interval 200左右就可以了
內容為:
If GetAsyncKeyState(&H1) Then
Do Until GetAsyncKeyState(&H1) = 0
DoEvents
Loop
你要做的事 !!
End If
不過這樣滑鼠在任何地方只要按下左鍵,都會動作喔
可以再配合
'使用 GetCursorPos Windows API(取得滑鼠座標)
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Const CTimer As Integer = 1
Public Type POINTAPI
CurX As Long
CurY As Long
End Type
Public mouse As POINTAPI
一樣在Timer裡,加上
Call GetCursorPos(mouse) '<<<>>>
然後用mouse.CurX 和 mouse.CurY 座標來判斷或指定你要的範圍內按下滑鼠左鍵才會觸發條件!
作者: MOONRAKER (㊣牛鶴鰻毛人)   2013-02-10 14:28:00
用叉子吃飯就好 為什麼要用鋸子
作者: hayabusasean ( ~ ~ ~ )   2013-02-10 17:02:00
他說叉子不行很詭異,所以把手邊的鋸子順手摳給用= =
作者: MOONRAKER (㊣牛鶴鰻毛人)   2013-02-10 17:07:00
是很詭異 :( Sorry
作者: JOUMAX (JOUMAX)   2013-02-11 00:00:00
謝謝回應,我會好好研究的。應該是我程度差,可以的被我用到不行。
作者: chinoyan   2013-02-11 07:09:00
用鋸子比較帥氣@@

Links booklink

Contact Us: admin [ a t ] ucptt.com