VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法
本文实例讲述了VB屏蔽文本框中的右键菜单、复制、粘贴等功能的实现方法。该功能就是禁止文本框的右键功能,造成点击鼠标右键无效。是非常常见的一类实用功能。
具体的功能模块代码如下:
'========================================================== '|模块名|TextBoxDisableAbility '|说明|禁止文本框的功能 '==========================================================OptionExplicit PrivateDeclareFunctionSetWindowTextLib"user32"Alias"SetWindowTextA"(ByValhwndAsLong,ByVallpStringAsString)AsLong PrivateDeclareFunctionCallWindowProcLib"user32"Alias"CallWindowProcA"(ByVallpPrevWndFuncAsLong,ByValhwndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong PrivateDeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong)AsLong PrivateDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong PrivateConstGWL_WNDPROC=(-4) PrivateConstWM_CUT=&H300'-------------剪切消息 PrivateConstWM_COPYAsLong=&H301'-------------复制消息 PrivateConstWM_PASTEAsLong=&H302'-------------粘贴消息 PrivateConstWM_CLEAR=&H303'-------------删除消息[右键菜单的删除] PrivateConstEM_UNDO=&HC7'-------------撤销消息 PrivateConstWM_CONTEXTMENU=&H7B'-------------右键菜单 PrivateprevWndProcAsLong PrivateFunctionWndProc(ByValhwndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong SelectCaseMsg CaseWM_CUT,WM_COPY,WM_PASTE,WM_CLEAR,EM_UNDO,WM_CONTEXTMENU '这里处理自定义的事件,最好为空 CaseElse '回调系统函数处理 WndProc=CallWindowProc(prevWndProc,hwnd,Msg,wParam,lParam) EndSelect EndFunction PublicSubDisableAbility(TargetTextBoxAsTextBox) '程序启动时调用这个 prevWndProc=GetWindowLong(TargetTextBox.hwnd,GWL_WNDPROC) SetWindowLongTargetTextBox.hwnd,GWL_WNDPROC,AddressOfWndProc EndSub
本代码的功能屏蔽文本框的右键菜单、复制、粘贴等,在不少的程序中都可以见到这些功能。共享给各位VB爱好者,希望能对大家有所帮助!
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语