4 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
具體代碼如下:
PutAttachment "d:\p", "*.*"
//獲取窗口句柄
Hwnd = Plugin.Window.MousePoint()
//獲取窗口客戶區(qū)左上角坐標(biāo)
sRect = Plugin.Window.GetClientRect(Hwnd)
xyArray = Split(sRect, "|", - 1 , 1)
dx = xyArray(0)
dy = xyArray(1)
//轉(zhuǎn)移窗口
KMData = Plugin.bgkms6_10.KMTransform(hwnd, 0)
//Plugin.BGCP2_02.TransformWindow 參數(shù)1
//加載圖片
tu = Plugin.BGCP2_02.LoadBMP("d:\p\4.bmp")
tu1 = Plugin.BGCP2_02.LoadBMP("d:\p\12.bmp")
Do
Call Plugin.Bkgnd.KeyPress(Hwnd, 9)
Delay 100
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
Delay 3000
For 60
Call Plugin.BGCP2_02.FindPicture(hwnd, 0, 0, 1024, 768 ,tu(0), 30, 0.9, ipX, ipY)
If ipX > 0 And ipY > 0 Then
Call Plugin.Bkgnd.KeyPress(Hwnd, 51)
Delay 1000
Call Plugin.BGCP2_02.FindPicture(hwnd, 0, 0, 1024, 768 ,tu1(0), 30, 0.9, intX, intY)
If intX > 0 And intY > 0 Then
Call Plugin.bgkms6_10.MoveTo(KMData, intX, intY) //
Delay 1000
call Plugin.bgkms6_10.LeftClick (KMData) //這里后臺(tái)點(diǎn)擊鼠標(biāo)左擊沒反應(yīng)
Delay 200
End If
End If
//End If
Next
Delay 100
Loop
Sub OnScriptExit
//釋放轉(zhuǎn)移窗口
Call Plugin.BGCP2_02.UnTransformWindow(Hwnd)
call Plugin.bgkms6_10.KMUntransform (KMData)
End Sub

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
在我們自定義窗體的時(shí)候,實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊拖動(dòng)標(biāo)題欄移動(dòng)窗體是必要的,而用Windows API來實(shí)現(xiàn)這一功能相對(duì)來說最簡單,需要用到的API函數(shù)有兩個(gè):
1:BOOL WINAPI ReleaseCapture(void);
2:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
沒有區(qū)別,因?yàn)?a >windows系統(tǒng)和C++api的底層函數(shù)庫是共享的,因此對(duì)于鼠標(biāo)所引發(fā)的事件其處理機(jī)制是一致的。
- 4 回答
- 0 關(guān)注
- 3536 瀏覽
添加回答
舉報(bào)