Artikel ini menjelaskan cara mengimplementasikan fungsi seperti menu klik kanan, salin, dan tempel di kotak teks berpelindung VB. Fungsi ini untuk menonaktifkan fungsi klik kanan pada kotak teks sehingga menyebabkan fungsi klik kanan mouse menjadi tidak valid. Ini adalah jenis fungsi praktis yang sangat umum.
Kode modul fungsi spesifiknya adalah sebagai berikut:
' ===== ========='|.Nama modul|.TextBoxDisableAbility'|.Nonaktifkan fungsi kotak teks'======= ==== ===Opsi EksplisitPrivate Deklarasi Fungsi SetWindowText Lib "user32" Alias " SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As LongPrivate Deklarasikan Fungsi CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc Selama, ByVal hwnd Selama, ByVal Msg Selama, ByVal wParam Selama, ByVal lParam Selama) Sebagai LongPrivate Deklarasikan Fungsi GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Deklarasikan Fungsi SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Const GWL_WNDPROC = (- 4)Konstanta Pribadi WM_CUT = &H300 '-------------Potong pesan Private Const WM_COPY As Long = &H301'-------------Copy pesan Private Const WM_PASTE As Long = &H302'-- - ----------Tempel pesan Private Const WM_CLEAR = &H303 '-------------Hapus pesan [Hapus dari menu klik kanan] Private Const EM_UNDO = &HC7 '--- - ---------Batalkan pesanPrivate Const WM_CONTEXTMENU = &H7B '-------------Menu klik kananPrivate prevWndProc As LongFungsi Pribadi 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 'Tangani peristiwa khusus di sini, sebaiknya kosongkan Kasus Lain 'Pemrosesan fungsi sistem panggilan balik WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam) End SelectEnd FunctionPublic Sub DisableAbility(TargetTextBox As TextBox) 'Panggil ini ketika program dimulai prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC) SetWindowLong TargetTextBox.hwnd , GWL_WNDPROC, Alamat Sub WndProcEnd
Fungsi kode ini memblokir menu klik kanan, copy, paste, dll pada kotak teks. Membagikannya kepada semua penggemar VB, semoga bermanfaat bagi semuanya!