توضح هذه المقالة كيفية تنفيذ وظائف مثل قائمة النقر بزر الماوس الأيمن، والنسخ واللصق في مربع نص VB محمي. تهدف هذه الوظيفة إلى تعطيل وظيفة النقر بزر الماوس الأيمن في مربع النص، مما يتسبب في جعل وظيفة النقر بزر الماوس الأيمن غير صالحة. إنه نوع شائع جدًا من الوظائف العملية.
رمز وحدة الوظيفة المحددة هو كما يلي:
'======================================================================== = ========='|. اسم الوحدة|. TextBoxDisableAbility'|. تعطيل وظيفة مربع النص'==============. ==== ==================== الخيار ExplicitPrivate أعلن عن وظيفة SetWindowText Lib "user32" الاسم المستعار " SetWindowTextA" (ByVal hwnd As Long، ByVal lpString As String) As LongPrivate تعلن عن وظيفة CallWindowProc Lib "user32" الاسم المستعار "CallWindowProcA" (ByVal lpPrevWndFunc طويل، ByVal hwnd طويل، ByVal Msg طويل، ByVal wParam طويل، ByVal lParam طويل) كما أعلن LongPrivate عن الاسم المستعار GetWindowLong Lib "user32". "GetWindowLongA" (ByVal hwnd طويل، ByVal nIndex طويل) كما LongPrivate قم بتعريف الدالة SetWindowLong Lib "user32" الاسم المستعار "SetWindowLongA" (ByVal hwnd طويل، ByVal nIndex طويل، ByVal dwNewLong طويل) مثل LongPrivate Const GWL_WNDPROC = (- 4)الكونست الخاص WM_CUT = &H300 '-------------قص الرسالة Private Const WM_COPY As Long = &H301 '------------- انسخ الرسالة Private Const WM_PASTE As Long = &H302 '-- - ----------لصق الرسالة Private Const WM_CLEAR = &H303 '-------------حذف الرسالة [حذف من قائمة النقر بزر الماوس الأيمن]Private Const EM_UNDO = &HC7 '--- - ---------إلغاء الرسالةPrivate Const WM_CONTEXTMENU = &H7B '-------------قائمة النقر بزر الماوس الأيمنPrivate prevWndProc As LongPrivate Function WndProc(ByVal hwnd As Long، ByVal Msg As Long، ByVal wParam As Long، ByVal lParam As Long) As Long Select Case Msg Case WM_CUT , WM_COPY, WM_PASTE, WM_CLEAR, EM_UNDO, WM_CONTEXTMENU 'التعامل مع الأحداث المخصصة هنا، ويفضل أن تكون حالة فارغة أخرى 'معالجة وظيفة نظام رد الاتصال WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam) End SelectEnd FunctionPublic Sub DisableAbility(TargetTextBox As TextBox) 'استدعاء هذا عندما يبدأ البرنامج prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC) SetWindowLong TargetText Box.hwnd , GWL_WNDPROC، عنوان WndProcEnd Sub
تعمل وظيفة هذا الرمز على حظر قائمة النقر بزر الماوس الأيمن والنسخ واللصق وما إلى ذلك في مربع النص. ويمكن رؤية هذه الوظائف في العديد من البرامج. شاركه مع جميع عشاق VB، وآمل أن يكون مفيدًا للجميع!