事件分-鍵盤和滑鼠
利用keyDown、MouseDown、DdlClick
在程式的表單上不是物件喔!!點二下寫程式,在表單上放一個Image後把圖片放在"Image"裡。
最後你要怎麼讓這個圖片在執行中可以
(1)按滑鼠右鍵(圖片就會往右)
(2)Alt+Y(圖片就會往左)
(3)滑鼠按二下(圖片會向上)
(4)Ctrl+F1(圖片會向下)
我不知道這個是否需要代碼
(Shift:是否按下Shift.Ctrl.Alt三種按鍵的狀態,當這三種按鍵都末被按下時,本參數值等於0,若按下Shift則本參數值加1,按下Ctrl加2,按下Alt加4,例如同時按下Ctrl及Alt時本參數等於6)
不知道這個有沒有幫助?因為我看不太懂
希望各位大大看的懂裡面的意思.....
不知道各位大大是否會寫這4個程式???
2006-12-28 19:05:24 · 2 個解答 · 發問者 Vicky 1 in 電腦與網際網路 ➔ 程式設計
有了有了~有試出來3個了。。。
真的很謝謝這位大大
不過還有一個試不出來
就是滑鼠按兩下(圖片會向上)
怎樣就是試不出來,可以再麻煩這位大大嗎??
2006-12-29 11:24:56 · update #1
這個是點在圖片上
若要點在表單上
則 Image1 改成 Form1 即可
(1)按滑鼠右鍵(圖片就會往右)
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
if (Button = 2) then ' 2是右鍵, 1是左鍵
Image1.Left = Image1.Left + 60
endif
End Sub
(3)滑鼠按二下(圖片會向上)
Private Sub Image1_DblClick()
Image1.Top= Image1.Top - 60
End Sub
(2)Alt+Y(圖片就會往左)
(4)Ctrl+F1(圖片會向下)
Form1 的 KeyPreview 要先設成 True
(4) 不可以用 Ctrl+F1, 因為 F1 是內建協助 (help) 指令
所以我改用 Ctrl + F2
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = 89 And Shift = 4) Then ' Alt + Y
Image1.Left = Image1.Left - 60
ElseIf (KeyCode = 113 And Shift = 2) Then ' Ctrl + F2
Image1.Top= Image1.Top + 60
End If
End Sub
如果有問題, 請來函討論. 不然, 我可能會錯失你再補充的疑點.
2006-12-29 00:45:48 · answer #1 · answered by JJ 7 · 0⤊ 0⤋
可以參考以下類似的程式碼:
'假設圖片控制項是Picture1
Private Sub Form_KeyPress(KeyAscii As Integer)
'假設每次移動20點
Call MoveCtl(Picture1, KeyAscii, 20)
End Sub
Private Sub MoveCtl(Ctl As Control, KeyAscii As Integer, Distance As Integer)
Select Case KeyAscii
Case 50
Ctl.Top = Ctl.Top - Distance
Case 52
Ctl.Top = Ctl.Top + Distance
Case 54
Ctl.Left = Ctl.Left - Distance
Case 56
Ctl.Left = Ctl.Left + Distance
End Select
End Sub
2006-12-30 19:56:42 · answer #2 · answered by yoo 3 · 0⤊ 0⤋