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

屏蔽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----编译运行,系统菜单不见了,弹出自定义菜单.
《近匠》第09期:ShareSDK——专注社交分享工具 苹果车载iOS系统iOS in the Car界面被曝光 支撑过万亿音乐事件的数据分析系统 Facebook运维内幕曝光:一人管理2万台服务器 《近匠》第10期:友盟——开发服务平台化 LinkedIn耗资1.2亿收购数据驱动招聘服务公司Bright 谷歌推视频会议硬件产品Chromebox 基于Chrome OS 文件上传组件导致Apache DoS安全漏洞 EA,你是来拉仇恨的吗? Beep:前Google员工打造的流媒体音乐控制器 有利于开发App的5款天气预测API 七问微软新CEO,你准备好了吗? Hadoop虽然强大,但不是万能的 Flappy Bird:萌贱游戏日进斗金的烦恼 IT技术支持:索契冬奥会背后的无名英雄 简单10招,让你的云计算事业锦上添花 微软、谷歌及苹果从哪赚钱? 高大上!5.5寸屏幕的iPhone 6概念机来袭 苹果CEO Tim Cook:我们是一家快速发展的公司 2014年美国大学生数学建模竞赛翻译及建模思路 围观龙虎斗:谷歌GCE vs. 亚马逊AWS,要做9件事 未来编程趋势的12个猜想 命令行永存... IBM发布SmartCloud数据虚拟化服务 嚓嚓嚓嚓:虐心的Flappy Bird今日终于下架 Flappy Bird不再“飞翔”后,还剩下什么? 索尼抛售PC业务:内忧外患导致全面退出 慧正通软技术副总裁:工作流引擎厂商的生存之道 TIOBE 2014年2月编程语言排行榜:VB.NET首次进入TOP 10 斯诺登仅用“网络爬虫”软件获取机密文件 全球开发者:iOS、Android、WP哪个最赚钱? 推荐15款响应式Web设计测试工具 请教。Windows CE Services 怎么用。我有一张盘,不知用法。 [老问题]如何对并口进行操作?300分。----------------- 请问Java TM Programming Language中的TM(在Java的右角上)是什么意思啊? 这样的程序界面应该如何做?紧急求助!!! HelloImpl err: Cannot connect to ORB 是怎么回事呢? Source Insight3.1使用问题?正确解答者150分 哪儿有《The art of computer programming》下载? C++編程思想 各位情场高人,帮小弟一把,怎么把这个MM约出来,出个主意,俺先谢谢大家了!!! 我需要JAVA-JDBC打开数据库的例子.................... 谁有Delphi编译错误信息对照表,有中文注解的最好---50分 请问在SQLSERVER2000中如何在检索数据是将两个字段合并成一个字段,用“||”吗? 数据库的重定向问题! 关于使用资源 QRRichText 打印如果页数很多(2页以上),就打印不完全,但打印预览中可以看到全部,为什么? 我有一个弱弱问题要问。。。 在C#中如何做ToolWindow属性的WinForms?????????? 怎样才能将静态文本框的背景色设置为透明的? 实时错误“480”,不能创建AUTOREDRAW图象,如何解决?把PICTUREBOX定义太大会产生这个错误,不能绘图! COOL!COOL! 序列的一系列问题 劳烦各位介绍一下业界最流行实用的汇编,C语言编译器,我是在校生急需指导! Rebar 移动的问题!烦死我了! 高手留步:请问VC中获取当天日期的函数是???还有比较两个日期所差天数用什么函数??? 请问怎样才能将vb中的date型的内容转化为sql server的datetime型呀,谢谢大家了 请问,怎样在 FLAH5 中直接插入 MP3,并改变 MP3 的音质? 利用delphi连接远程sybase数据库,在多用户操作情况下为什么会产生数据库死锁 看了一下SL275(2001年5月)的课程概述,发现里面没有了Applet了,SCJP是不是舍弃了它了? 有关JAVA的Package,ClassPath的讨论,诸位看过来 COOL!COOL!COOL! what's wrong with the SOCKET define? 使用vb通过NotesSQL for odbc连接过domino数据库时总出现如下错误“ [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败”,有谁遇到过吗?如何解决? 在SDK中,如何判断对话框中的CheckBox是否选中? 请教如何修改如何提交数据(一对多的表) 如何在delphi里实现文件(比如文本文件)从一台机器传递到另一台机器?比较急! 不知道主板集成声卡的型号,又没有驱动程序?怎么办?主板是ASUS CUSL2,I815E CHIPSET 想问问大家pb自带的例子中有没有关于权限的例子 怎么样吧jpg图片转成ico?????? 听说程序员结婚生孩子多数会是女孩,是不是真的?,好像与辐射有关哦 那里有windoes版的ftp源码 不知道主板集成声卡的型号,又没有驱动程序?怎么办? 主板是ASUS CUSL2 ,I815E CHIPSET 请问哪里有编写多线程安全对象的资料?(72分) 通过界面输入大量数据,界面如何设计??? 在Red hat 7.1如何安装GBK字符集! Focus(老鱼)回答得50分 请教网站的建设计划如何写呀? 请问下面的DELPHI程序如何转为CB 帮忙测试! 怎样得到硬盘序列号 关于Web开发…… Notes Client 待办事宜的定时刷新问题 学信网可以查英语四级网考成绩吗看好了是四级网考成绩哟 已知x+y=3,xy=1,a+b=5,ab=3,且m=ax+by,n=bx+ay 求m^3+n^3的值 根号-a的3次方除以a.a小于0.怎么化简. 设A=根号5-根号6,B=根号6-根号7,A,B的大小关系 已知x+y=5,xy=2.a+b=3,ab=3,m=ax+by,n=ay+bx,求n/m+m/n的值 英语急转弯1.What kinf of mouse doesn't eat rice?( ) 小白加小白等于什么呢? 2进制如何转化为10进制,请用一个简单明了的办法说明下,本人很愚笨,一般的理解不了, 急转弯 英语怎么说 求含字母的绝对值化简 2道 快 2进制转10进制 11012进制1101 转10进制 一个英语急转弯,Two teachers teach at the same school.One is the mother of the other's son.what relation are they to each other 化简有绝对值的带字母的式子的规律 2进制11111111转10进制 如果A=2除以根号5-根号2,B=3除以根号5+根号2,求(2A分之一)的2002次方乘以(B分之一)的2003次方的直 初一的化简绝对值题目(带字母的) 快点啊,多谢啦! 最新的英语六级高频词汇和词组(发给我一份吧, a²-2a+1分之a²-1除以a的三次方-a²分之a+1,其中a=根号3 已知b=根号(a-3)+根号(3-a)+根号8 试比较a、b的大小 十进制转二进制的公式 ax-bx-ay+by (4)有一个数是123,它与十六进制数53相等,那么该数值是A)八进制数; B)十进制数; C)五进制 ; D)二进制数A 二进制与十进制转换公式? 十进制数127转换为十六进制数是多少 一个数是123,它与十六进制数53相等那么该数是几进制的?怎么个算法? 2进制转10进制最简便方法?(公式) (log4(3)+log8(3))*(log3(2)+log8(2))-log1/2(^4√32)=?.. 有一个数是123,它与十六进制53相等的数值是多少?我很着急,计算过程也要, 10进制转16进制公式,这种结果对吗三、十进制数十六进制 如:76521转为十六进制 16|76521 4726 ――5 第一位(个位) 295 ――6 第二位 18 ――6 第三位 1 ―― 2 第四位 最后得1276516 二进制与十六 计算(log4 3+ log8 3)(log3 2+ log9 2)-- log1/2 32^(1/3)+5^(log259) (ax+by)^2-(ay+bx)^2 (ax+by)^2+(bx-ay)^2 log3 4×log4 8×log8 a=log根号3 9,则a= 小白加小白等于? 几道英语脑经急转弯1.When will a net hold water?2.What letter is a question?3.How can you make a repe shorter without cating or winding out it?4.who works only one day in a year but never gets find?并且翻译出来问题的意思.我一定 (log4 3+log8 3)(log3 2+log9 2)-log1/2 32^1/3+5^(log25 9) 通过估算,比较根号2分之根号5-1与8分之5的大小 英语脑经急转弯ben is very hungry.there is canned fish and canned chicken in the fridge.what does he open first? 英文翻译:我害怕一个人晚上外出怎么说? 小白加小白等于多少 问几道英语脑经急转弯!1.where can you always find mony when you look for it?2.how many sides does a cicle have ?3.where does the egg floating on the Mississippi River come from?4.why is the letter G and letter S in "gloves‘ close to each 你知道我一直是一个害怕孤单的孩子 英文翻译 小白加小白等于什么呢? 八进制数0123的值相当于十进制的83;十六进制数0x123的值相当于十进制数的291.我不明白那83和291的结...八进制数0123的值相当于十进制的83;十六进制数0x123的值相当于十进制数的291.我不明白 英语脑经急转弯?有急用?1.where were you when lights went out?A.go to bed B.at the cinea C.in the sun D.in the dak2.what is the biggest in the world?A.the earth B.eyelid C.the sun D.the star3.what is easy to get into but hard to get out of?A. 小白加小白等于……… 多元函数f(xy,x-y)=x²+y²,则af(x,y)/ax+af(x,y)/ay=? 十进制小数怎么转换为二进制小数要方法和0.5的例子!记住,是0.如果行, 2013年十月网考四级成绩怎么查询? 化简(x²+xy+y²)(x²-xy+y²)=? 十进制小数如何转换为二进制十进制小数,如:0.325,如何转换为二进制,请写清详细过程和最后答案. 2012年5月份的四级网考成绩怎么查?官网说7月15出成绩,怎么查?是五月四级网考! 比较根号2+根号7与根号3加根号五的大小 如何将带有小数的二进制数转换成十进制数,如0.011101?望各位大哥赐教,写出换算过程. 网考四级怎么查啊是网考,希望大侠不要弄混了 英语谜语,可能是脑经急转弯how many feet are there in a yard 十进制的小数怎么转换成二进制 大学英语四级网考能查成绩吗怎莫不能查啊 这是10进制转几进制的?6bb8121b3db2771a65daeacb29342c429ec1d948dc1841b1340d239b4b04d41a复原成十进制是什么? 十进制小数转换二进制的问题22.8125转二进制
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn