PDA

View Full Version : سوال: غیر فعال کردن راست کلیک در تکست باکس



arashi
یک شنبه 16 فروردین 1388, 03:06 صبح
سلام
چگونگی غیر فعال کردن راست کلیک در تکست باکس؟
یک کد ساده و خوب بگین
:قلب:

__siavash__
یک شنبه 16 فروردین 1388, 16:08 عصر
Disable pop-up menu on TextBox Rigth Click

arashi
یک شنبه 16 فروردین 1388, 18:20 عصر
ممنون
راه ساده تری وجود نداره؟که کد کمتری هم بخواد

butterfly8528
دوشنبه 17 فروردین 1388, 15:12 عصر
سلام دوست عزیز

یک Textbox به فرمت اظافه کن بعد این کد هارو به پروژت اظافه کن


Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
MsgBox "right click not aviable"
End If
End Sub


این ساده ترین راه :بامزه:

arashi
دوشنبه 17 فروردین 1388, 20:56 عصر
خسته نباشید !!!
بابا گفتم یر فعال یعنی وقتی کلیک می کنی هیچ کاری نشه مثلهمون قبلی ولی اون کدش خیلی بود راه ساده تری نداره؟

parselearn
سه شنبه 18 فروردین 1388, 04:49 صبح
به هر حال بايد از همان توابع استفاده كنيد


ماژول:


Public OldWindowProc As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Const WM_USER = &H400

Public Function NoPopupWindowProc(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_CONTEXTMENU = &H7B
If msg <> WM_CONTEXTMENU Then _
NoPopupWindowProc = CallWindowProc( _
OldWindowProc, hwnd, msg, wParam, _
lParam)
End Function


فرم:


Private Sub Form_Load()
OldWindowProc = SetWindowLong(Text1.hwnd, GWL_WNDPROC, AddressOf NoPopupWindowProc)
End Sub

Private Sub Form_Unload(Cancel As Integer)
SetWindowLong Text1.hwnd, GWL_WNDPROC, OldWindowProc
End Sub

pernia
چهارشنبه 19 فروردین 1388, 09:02 صبح
اینم یه راهشه:
کافیه تا موفق فشرده شدن کلید escape رو تحریک کنی
:چشمک:

arashi
چهارشنبه 19 فروردین 1388, 15:42 عصر
اینم یه راهشه:
کافیه تا موفق فشرده شدن کلید escape رو تحریک کنی
:چشمک:

چطوری؟کد مورد نیاز را بگذارید
ممنون
راه کوتاه دیگری هم سراغ دارید بگید لطفا

رضا-امری
چهارشنبه 19 فروردین 1388, 18:14 عصر
مثلاً برای textbox: ؟؟؟؟؟؟؟


Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Text1.Enabled = False
Timer1.Enabled = True
End If
End Sub

Private Sub Timer1_Timer()
Timer1.Enabled = False
Text1.Enabled = True
End Sub


!!!!!!!! ( Interval>=200 ) !!!!!!!!!!!!!!?

arashi
چهارشنبه 19 فروردین 1388, 23:41 عصر
ممنون ولی این راه درستی نیست
و وقتی هم که دو تا راست کلیک بکنیم منو باز میشه

arashi
جمعه 21 فروردین 1388, 06:08 صبح
منتظر راه و روش های دوستان هستم !
فقط راهی که کد زیادی نخواد!

egproje
جمعه 21 فروردین 1388, 19:17 عصر
:متفکر: :متفکر:

دوست عزيز دوستان جواب هاي زيادي به شما دادن چرا اينقدر سوالتون رو تكرار ميكنيد؟
در خاصيت MouseDown تكستون اين كد رو كپي كنيد درست ميشه
قبلا هم دوستان اينو به شما گفتن ولي توجه نكردي

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
MsgBox "Error"
End If
End Sub

بخشودگي اهل گنه در صف محشر.....وابسته به يك گردش چشمان حسين است

Mbt925
شنبه 22 فروردین 1388, 18:34 عصر
منتظر راه و روش های دوستان هستم !
فقط راهی که کد زیادی نخواد!

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

بحث رو دیگه بیش از این ادامه ندید.