نوشته شده توسط
atf1379
سلام
در نمونه ضمیمه اگر در داخل تکست باکس کلیک کنی اشاره گر موس 100 پیکسل به سمت چپ حرکت میکنه . مثلاً اگر درنزدیکی خط جهت دار تکست باکس کلیک کنی اشاره گر بر روی کمند باتن1 قرار گرفته و باعث انجام رویداد Command1_MouseDown که نتیجه صدور یک پیغام است میشود .
حال من میخواهم در هرجائی از تکست باکس کلیک کردم اشاره گر موس بر روی کمند باتن قرار بگیره و رویداد Command1_MouseDown را انجام بده
باتشکر
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_MOVE = &H1
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
Private Declare Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox "Ok"
End Sub
Private Sub Text1_Click()
Dim r As RECT
GetWindowRect Command1.hwnd, r
SetCursorPos (r.Left + r.Right) \ 2, (r.Top + r.Bottom) \ 2
mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0, 0
End Sub