ايران ويج

نسخه‌ی کامل: کلیک راست
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
چطور یه کلیک راست رو به برنامه سند کنم
به برنامه خودتون یا به برنامه های دیگه؟
به وسيله تابع SendMessage

کد:
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

به طور ساده:
کد:
Private Sub Command2_Click()
Call SendMessage(Text1.hwnd, WM_RBUTTONDOWN, 0&, 0&)
Call SendMessage(Text1.hwnd, WM_RBUTTONUP, 0&, 0&)
End Sub

اما اگر بخواهيد مشخص کنيد که کليک راست کجای آبجکت انجام بشه بايد پارامتر سوم SendMessage يعنی IParam هم مقدار دهی کنيد

مثال:
کد:
Private Sub Command3_Click()
  Dim DaWord As Long
    DaWord = MakeDWord((Text1.Width / 15) / 2, (Text1.Height / 15) / 2) 'Centers the click and 15 is twips per pixel
    SendMessage Text1.hwnd, WM_RBUTTONDOWN, 2&, ByVal DaWord
    SendMessage Text1.hwnd, WM_RBUTTONUP, 2&, ByVal DaWord
End Sub

Private Function MakeDWord(ByVal LoWord As Integer, ByVal HiWord As Integer) As Long
    MakeDWord = (HiWord * &H10000) Or (LoWord And &HFFFF&)
End Function