Este artigo descreve como implementar funções como menu de clique com o botão direito, copiar e colar em uma caixa de texto protegida VB. Esta função desabilita a função de clicar com o botão direito da caixa de texto, fazendo com que a função de clicar com o botão direito do mouse seja inválida. É um tipo muito comum de função prática.
O código do módulo de função específico é o seguinte:
'================================================ ========='| Nome do módulo| TextBoxDisableAbility'| Desativar a função da caixa de texto'===================== ==== ================================ Opção ExplicitPrivate Declarar Função SetWindowText Lib "user32" Alias " SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As LongPrivate 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 LongPrivate Declare Função GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declarar Função SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Const GWL_WNDPROC = (- 4) Const privada WM_CUT = &H300 '-------------Cortar mensagem Private Const WM_COPY As Long = &H301 '-------------Copiar mensagem Private Const WM_PASTE As Long = &H302 '-- - ----------Colar mensagem Private Const WM_CLEAR = &H303 '-------------Excluir mensagem [Excluir do menu do botão direito]Private Const EM_UNDO = &HC7 '--- - ---------Cancelar mensagemPrivate Const WM_CONTEXTMENU = &H7B '-------------Menu do botão direitoPrivate 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 'Trate de eventos personalizados aqui, de preferência vazio Caso Else 'Processamento de função do sistema de retorno de chamada WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam) End SelectEnd FunctionPublic Sub DisableAbility(TargetTextBox As TextBox) 'Chame isso quando o programa iniciar prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC) SetWindowLong TargetTextBox.hwnd , GWL_WNDPROC, EndereçoOf WndProcEnd Sub
A função deste código bloqueia o menu do botão direito, copiar, colar, etc. da caixa de texto. Essas funções podem ser vistas em muitos programas. Compartilhando com todos os entusiastas do VB, espero que seja útil para todos!