说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

屏蔽TextBox的系统菜单 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
屏蔽TextBox的系统菜单 -VB资料
TextBox是最常用的控件之一,很多时候我们需要处理在其上的右键处理.而系统默认有右键菜单, 因此很多时候影响程序的美观.其实,我们可以将系统的右键菜单屏蔽掉.屏蔽TextBox右键菜单的 方法有很多,下面主要介绍常用的两种方法:

方法一:投机取巧法;
本方法实现起来十分简单,在某些场合下使用起来很方便;不足是有些场合下不适用.
>>步骤1----建立新工程,在窗体上放置一个TextBox;
>>步骤2----在窗体上创建一菜单,设其Name = a;Visible = false;
>>步骤3----编写如下代码:
Private Sub Text1_MouseDown(Button As Integer, Shift _
As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Text1.Enabled = False
Text1.Enabled = True
PopupMenu a
End If
End Sub

>>步骤4----编译运行,在TextBox中按下鼠标右键,看看,系统菜单不见了,弹出的只是你自己定义的菜单. 简单吧!


方法二:截获系统消息法.
本方法实现起来相对来说,麻烦些,不过,应该说这种方法放之四海而皆适用.
首先取得系统函数的地址,并保存,然后用自定义的函数代替系统函数,最后恢复系统函数,弹出自定义菜单.
请看下面的代码:
>>步骤1----建立新工程,在窗体上放置一个TextBox; >>步骤2----在窗体上创建一菜单;设其Name = a;Visible = false;
>>步骤3----添加以模块,加入如下代码:

Public OldWinProc As Long' 保存系统窗口函数的地址
Public Const WM_CONTEXTMENU = &H7B' 当右击文本框时,
系统发送这条消息

Public Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) _
As Long
Public Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) 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
Public Function SubClass_WndMessage(ByVal hWnd As _
OLE_HANDLE,ByVal Msg As OLE_HANDLE, ByVal wParam As OLE_HANDLE, _
ByVal lParam As Long) As Long
If Msg <> WM_CONTEXTMENU Then
SubClass_WndMessage = CallWindowProc(OldWinProc, _
hWnd, Msg,wParam, lParam)
' 如果消息不是WM_CONTEXTMENU,就调用系统的窗口处理函数
Exit Function
End If
SubClass_WndMessage = True
End Function

>>步骤4----在窗体中加入如下代码:
Private Const GWL_WNDPROC = (-4)

Private Sub Text1_MouseDown(Button As Integer, Shift As _
Integer, X As Single, Y As Single)

If Button = 1 Then Exit Sub
OldWinProc = GetWindowLong(Text1.hWnd, GWL_WNDPROC)
' 取得窗口函数的地址
Call SetWindowLong(Text1.hWnd, GWL_WNDPROC, AddressOf _
SubClass_WndMessage)
' 用SubClass_WndMessage代替窗口函数处理消息
End Sub

Private Sub Text1_MouseUp(Button As Integer, Shift _
As Integer, X As Single, Y As Single)
If Button = 1 Then Exit Sub
Call SetWindowLong(Text1.hWnd, GWL_WNDPROC, OldWinProc)
' 恢复窗口的默认函数
PopupMenu a
' 弹出自定义菜单
End Sub

>>步骤5----编译运行,系统菜单不见了,弹出自定义菜单.
【Hadoop技术博客推荐】Hive的那些事 Twitter联合创始人推社交搜索应用Jelly 马云“食言”进军手游分成比例8:2,开发者可拿7成 CodeCombat游戏全面开源:玩游戏也能学编程 Netflix首席云架构师Adrian Cockcroft加盟Battery Ventures Android 4.3附体:RIBX发布FB/Ti 互联网手表 IE11界面布局的秘密武器:Quero Toolbar 【开源专访】Node-Webkit作者王文睿:桌面应用的全新开发方式 CentOS归属红帽:企业级Linux领域社区与商业的融合 印度初创公司Little Eye Labs证实已被Facebook收购 雅虎收购Aviate:重在提升用户体验 SDN领域硝烟再起,Oracle将Corente收入囊中 Hadoop科普文——常见的45个问题解答 CES 2014:奥迪下一代汽车将采用NVIDIA的芯片! Cocos 3.0 Beta发布:更易用、更友好 开拓新兴市场?诺基亚或推Android手机,UI界面遭泄露 预测2014大数据值得关注的8个发展方向 霸主地位再临挑战?Salesforce CEO,我们不只有Oracle LBS应用新星、“司机好助手”微车借力移动互联网,志在打造车主的个人移动门户 新一代IDE Light Table开源:让编程工作更简单 图片应用也能高大上,看Cooliris如何玩转无人机 拥抱Spark,机遇无限——Spark Summit 2013精彩回顾 1月10日:改变世界的iPhone七岁了,你是传奇! 同洲电子推出首款手机操作系统960OS 免费授权使用 如何在Windows 8.1的IE11中打开同步选项卡? 25年老对手评价微软:换CEO可行,但是太迟了 【PPT集萃】十位一线专家分享Spark现状与未来(三) 万元奖品等你拿!2014创客118新年大Party! Firefox OS的2013回顾和2014展望 Strom8 CEO:搞好手游开发,合伙人很重要 2013年Q4全球PC出货量同比下滑6.9% 已连续下滑七个季度 为什么我远程连接sql server总不成功呢?我已经把1433端口开了啊 西游记 如何判断一个大整数是素数,如何找出整数的模逆 多层数据库开发源码大公开---不可多得! WinZip等的右键菜单Add to xxx.zip是怎么实现的? 帮帮忙,急! 因写程序丢过头发的请进. 怎样使lable的内容分两行显示 一个使我困惑的小问题,敬请关注(***100分***)!! 帮帮忙好吗? 二个关于字符串中对子串的替换与删除的问题? 怎样实现虚构造函数? 请问各位高手,手机图片和手机铃声是什么格式的?在电脑上能不能打开?应该怎么制作? 请大家帮个忙,有个小问题,如何用showmessage输出括号内的内容('%K%')?在线等待 A simple problem!? 救命,对话框显示的奇怪问题!!! An error 1069 (由于登录而无法启动服务器) 请问为什么向Oracle表里加不上记录? 我在局域网中用些东西常被主机防火墙隔了,有什么办法绕过防火墙 谁有MPEG-LAYER3的详细资料或连接? 我用一些软件如音乐大师等,一打开程序,该程序窗口就被关闭了,而在光盘上进行都可以? 如何判断一个大整数是素数,如何找出整数的模逆 怎样使用C#做互相通信的client/server程序 image类型字段,如何用update命令更新 请问指针的指针,二维数组,指针数组,之间有何区别 PB数据库连接字符串的问题 如何购买NFS软件,是Windows pc 访问AIX用的? 请囊相授求mcsd信息 为什么对话框程序最小化时占用内存会减少很多呢?(VC6) 备份主域控制器加入后,登陆不进去了 新手上路,DDE的,绝对给分!!! 帮帮我 怎样修改一个窗口的系统菜单? 怎样将自己做的ASP.NET程序放到IIS服务器上去?服务器需要怎么配置? 在线等待一个问题!!!解决问题就散帖 关于NETANT的有不健康连接的通知????? 一个关于SQL_Server2000复制时发生的问题,请大家帮忙!(在线等待) 当我删除一条记录时会跳出错误,谁帮我看看 请囊相授求帮助 对这个程序实现上大家有什么想法? 触发器一行更新与多行更新有什么区别 请问如何能让我的Cricheditctrl最多输入100个字符???谢谢!!!!! 关于向数据库中插入时间的问题 在局域网中如何判断是否连到服务器?(用delphi) 有没有嘉兴的高手?QQ13136276mailsunrace@163.com 150分:怎样实现类似Delphi中的TClass.Create的功能? 请大家给我这个oracle初学者一些入门指点(偏重Developer 和discoverer方面) 请教! 关于winnt4的救命问题,如何共享上网? 急!!小弟现在用midas做一个三层的系统,用Dcom连接,但是在客户端连接服务器说类字符串未注册 关于选择菜单的这个功能怎么实现 古诗4首词4首儿童诗4首现代诗6首g 从8男5女中选出4人参加书法比赛,其中有至少2名女生,共有多少种选法?我知道C5,2C8,2+C5,3C8,1+C5,4这种算法,我只是想知道为什么C5,2C11,3不可以?我觉得也可以解释啊,先从5个女生中选两个,然后从剩 正四面体的四个顶点都在一个球面上,且正四面体的高为4,则球的表面积为______. 求七首现代诗或者是儿童诗字数少一点的啊 快点哦 What kind of cake would you like (同义句) What kind of cake ____ you ______? 棱长为a的正四面体的四个顶点均在一个球面上,求此球的表面积与体积 一辆货车从甲地开往乙地,已经行全程的五分之二,距离终点还有25千米,甲乙两地相距多少千米?算式 在生活中像蒲公英那样和我们一起睡觉一起起床的事物有哪些 他(蒲公英)和我们一起起床,一起睡觉. 是什么修辞 一辆汽车从甲地开往乙地,行了全程的25%,距离终点还有60千米,甲乙两地的路程是多少千米2013年5月10日以前答对, 为什么说蒲公英跟我们一起睡觉一起起床 AMY likes playing computer games(改为一般疑问句,并作否定回答)帮帮我吧! 请问秋蒲公英是一种什么样的花儿?与普通的蒲公英有什么差别?可有图片的链接? 蒲公英和我们一起睡觉,一起起床.(仿写句子) Amy likes playing computer games.(改为一般疑问句,做否定回答) 蒲公英寓意是什么 为什么说蒲公英和我们一起睡觉,和我们一起起床 what kind of dessert would you like 意思 蒲公英是一种什么样的花 蒲公英的花和我们一起睡觉,和我们一起起床,是什么修辞方法 Amy likes playing computer games (改为一般疑问句,作肯定回答) 蒲公英花有什么变化 正四面体的4个顶点都在一球面上,且正四面体高为4,则球的表面积为多少 Amy likes playing computer games改为否定和一般疑问句, 急求儿童诗,50字以下! 棱长为a的正四面体的四个顶点均在一个球面上,求此球的表面积 蒲公英花就像我们的手掌,可以张开,合上.是不是比喻句? 一辆汽车从甲地开往乙地,2小时行了全程的五分之二,这时距离中点还有18千米,这辆汽车平均每小时行多少千 正四面体的四个顶点都在一个球面,且正四面体的高为4,则球的表面积为 谁能告诉我《山中访友》里的比喻句和拟人句(全部),最好分开来 一辆汽车从甲地开往乙地已经行了3小时平均每小时行72千米,剩下路程是两地距离的五分之二两地距离多少千米 would you like( ) more cake括号内应填a bit的某种形式, 扩句:原句:蒲公英的花可以张开、合上,加上一句比喻句 做一个长12厘米宽8厘米高6厘米的长方体框架,至少要铁丝多少厘米?在这个框架外糊上一层白纸,至少需要多少平方米白纸? would you like more of the chocolate cake?no thanks.my doctor said i should ________my weight.a:watch; b:control ; Can I have some pineapples?AGive you.B Yes,please.C You're welcome.请问该选哪个,我选A,可老师算我错,应该选什么,为什么 用铁丝做一个长12厘米,宽8厘米,高5厘米的长方体框架,至少需要()厘米的铁丝.(接头处不计.)要列式. — Would you like...— Yes,please./ No,thanks.为什么用please和thanks作答? __________ yes ,some apple please 用铁丝做一个长8厘米,宽5厘米,高3厘米的长方体框架,至少要多长的铁丝?在这个长方体框架外面糊一层纸,至少要多少平方厘米的纸 would you like a new book?yes please \/no thanks 枣树上一种毛虫,有毒刺能蛰人,学名叫什么?被蛰了怎么处理? what is your sister likeA.She is a worker\x05B.She likes pearsC.She is very thin\x05D.She is like her father Would you like some oranges?----- A.Yes,thanks.B.No,please.C.Yes,please.D.No,don'thelp me. 被枣树上的刺毛毛虫刺到了一碰就痛, What ________(be) your sister _________(like)?She is tall and slim. 正方体的表面积为s1,以其中4个顶点构成的正四面体的表面积为s2,则s1/s2= 有一种像毛毛虫的小昆虫,它的毛弄到身上刺疼,冬天在树上结成黑白花的蛋,在枣树上的多,他是什么蛋长约一厘米 现代诗(儿童诗)急需3首现代诗,最好是儿童诗..附带多一点的乐趣.只要3首就行了.. 蒲公英的种子随风飘落.改成拟人句怎么改 有三个毛毛虫排队走,第一个说我后面有两个毛毛虫,最后一个说我前面有两个毛毛虫,中间的那个毛毛虫说我请分析答案是他在说谎的原因, 现代诗大全 儿童诗 What kind of drink(s) would you like?这里的drink用单数还是复数? 有关思乡爱国的诗句 现代诗或儿童诗的格式左起需要空几行? 六年级上册语文第六单元现代诗,要第5第6首的仿写 爱国 思乡的诗句具体诗句 请问这是什么花?跟蒲公英很像! 六二班有48名同学,其中8名男生和女生的五分之一参加书法比赛,则这个班男女生各多少人?加上分析这是加上的) 六二班有48名同学,其中8名男生和女生的五分之一参加书法比赛,这时剩下的 What kind of ----------(饮料) would you like?其中饮料"drink"用什么形式,为什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘