PDA

View Full Version : سوال: تشخیص حالت MouseDown در رویداد تایمر



nazanin_90
سه شنبه 19 آذر 1392, 19:29 عصر
سلام
آیا این امکان وجود دارد که وضعیت پائین نگه داشتن موس در رویداد تایمر یک فرم تشخیص داد .
مثلاً اگر موس را درخارج از فرم و در قسمتی از دسکتاپ پائین نگه داشتیم درتکست باکس فرم عدد 1 ثبت شود .
با تشکر

mehran901
سه شنبه 19 آذر 1392, 21:04 عصر
با Api کار ساده ای هست به این شکل که :
ی تایمر بذارین رو فرم با اینتروال 1 مثلا

کد general declaration

Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As _
Integer

Function LeftButton() As Boolean
LeftButton = (GetAsyncKeyState(vbKeyLButton) And &H8000)
End Function

Function RightButton() As Boolean
RightButton = (GetAsyncKeyState(vbKeyRButton) And &H8000)
End Function

Function MiddleButton() As Boolean
MiddleButton = (GetAsyncKeyState(vbKeyMButton) And &H8000)
End Function
Function MouseButton() As Integer
If GetAsyncKeyState(vbKeyLButton) < 0 Then
MouseButton = 1
End If
If GetAsyncKeyState(vbKeyRButton) < 0 Then
MouseButton = MouseButton Or 2
End If
If GetAsyncKeyState(vbKeyMButton) < 0 Then
MouseButton = MouseButton Or 4
End If
End Function



کد تایمر :


Private Sub Timer1_Timer()
Me.Caption = MouseButton
End Sub

setroyd
سه شنبه 19 آذر 1392, 21:22 عصر
یه timer بزار رو صفحه Interval هم بزار رو 1 و این کد رو کپی کن تو برنامت

چیزیو نفهمیدی بگو برات بگم سعی کردم راحت بنویسم بفهمی شلوغ نشه .

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Timer1_Timer()
If GetAsyncKeyState(2) = -32767 Then
Text1.Text = Val(Text1.Text) + 1
End If
End Sub


یه textbox هم بزار یادم رفت بنویسم .