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

所属分类: 软件编程 / vb 阅读数: 216
收藏 0 赞 0 分享

本文实例讲述了VB屏蔽文本框中的右键菜单、复制、粘贴等功能的实现方法。该功能就是禁止文本框的右键功能,造成点击鼠标右键无效。是非常常见的一类实用功能。

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

'==========================================================
'| 模 块 名 | 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

本代码的功能屏蔽文本框的右键菜单、复制、粘贴等,在不少的程序中都可以见到这些功能。共享给各位VB爱好者,希望能对大家有所帮助!

更多精彩内容其他人还在看

Basic求10000以内的完美数

一个数的所有真因数加起来正好等于这个自然数本身,在数学上,具有这种性质的自然数叫做完全数。关键是求出该自然数k的所有因子。如果k%i为0,则i为k的因子,用循环语句求出k 的所有真因子(1<=i<=k/2),把它们求和,看是否等于k来判断。
收藏 0 赞 0 分享

VB简单实现防止文件被改写

这篇文章主要介绍了VB简单实现防止文件被改写的方法,十分的简单实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

VB实现禁用任务管理器的方法

本文给大家介绍的是使用VB来实现禁用任务管理器的方法和示例,十分的简单实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

VB键盘鼠标无动作调用程序的尝试

这篇文章主要介绍了VB键盘鼠标无动作调用程序的尝试,记录下整个思路和过程,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

VB使用ADO操作Access数据库

这篇文章主要介绍了VB使用ADO操作Access数据库的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

VB打开与保存txt文件的方法

这篇文章主要介绍了VB打开与保存txt文件的方法,涉及使用VB操作文本文件的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

VB实现按行读取文本文件的方法

这篇文章主要介绍了VB实现按行读取文本文件的方法,涉及使用VB操作文件读取的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

VB获取文件大小的方法

这篇文章主要介绍了VB获取文件大小的方法,可实现准确获取文件大小的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

VB返回记录集结果到HTML表格的方法

这篇文章主要介绍了VB返回记录集结果到HTML表格的方法,实例分析了VB获取记录集与HTML表格生成的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

VB实现的《QQ美女找茬游戏》作弊器实例

这篇文章主要介绍了VB实现的《QQ美女找茬游戏》作弊器,以一个完整实例形式分析了VB实现《QQ美女找茬游戏》作弊器的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多