前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法

VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法

原创
作者头像
大师级码师
发布2022-11-06 19:28:22
9000
发布2022-11-06 19:28:22
举报
文章被收录于专栏:大师级码师大师级码师

禁止文本框的右键功能,造成点击鼠标右键无效。是非常常见的一类实用功能。

具体的功能模块代码如下:

'==========================================================

'| 模 块 名 | TextBoxDisableAbility

'| 说 明 | 禁止文本框的功能

'==========================================================Option Explicit

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Private 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

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const GWL_WNDPROC = (-4)

Private Const 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 Long

Private 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

'这里处理自定义的事件,最好为空

Case Else

'回调系统函数处理

WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam)

End Select

End Function

Public Sub DisableAbility(TargetTextBox As TextBox)

'程序启动时调用这个

prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC)

SetWindowLong TargetTextBox.hwnd, GWL_WNDPROC, AddressOf WndProc

End Sub

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档