原文網址https://tw.knowledge.yahoo.com/question/question?qid=1515071403382

我想做個 假如我滑鼠 移動到 隨便一個地方不動
當我按下 F2時 自動把我現在滑鼠位置的座標寫入 Text1(x座標) Text2(y座標)
  • 2015-07-15 18:54:19 補充

    回復 逸群
    那能不能改成 組合建 按下ctrl+alt+1 
    座標寫入 Text1(x座標) Text2(y座標)

======解答開始======

Option Explicit

Private Type POINTAPI
X As Long
Y As Long
End Type

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

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim pt As POINTAPI

GetCursorPos pt

If KeyCode = vbKeyF2 Then
Text1.Text = pt.X
Text2.Text = pt.Y
End If
End Sub

附上程式

https://drive.google.com/file/d/0B_Boa0V6iHIuVElGaGp6dllfNzA/view?usp=sharing

  • 2015-07-15 20:55:00 補充

    前面的不動

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim pt As POINTAPI
    If Shift = 6 Then 
    If KeyCode = vbKey1 Then 
    GetCursorPos pt
    Text1.Text = pt.X
    Text2.Text = pt.Y
    End If
    End If
    End Sub

  • 2015-07-15 20:56:23 補充

    'shift 參數是一位元欄位,以最低的位元對應 SHIFT 鍵 (位元 0 ),CTRL 鍵 (位元 1 ) 和 ALT 鍵 (位元 2 )。這些位元分別對應於值 1、2 和 4。

    所以 ctrl(2)+alt(4) = 6 

    https://drive.google.com/file/d/0B_Boa0V6iHIuZl9JX2lHT2w4OTg/view?usp=sharing

忘了說 Form1 的 KeyPreview 要設定為True..

arrow
arrow
    文章標籤
    VB API
    全站熱搜
    創作者介紹
    創作者 抓狂小白 的頭像
    抓狂小白

    抓狂小白的程式筆記

    抓狂小白 發表在 痞客邦 留言(0) 人氣()