社区
VB基础类
帖子详情
VB中如何屏蔽回车和空格键
binghe7
2005-02-23 08:41:59
一个form内只有一个command按钮,默认焦点,现在按回车和空格键,或者鼠标点击都可以进入下一个画面,
但我需要屏蔽调回车和空格键的作用,如何实现,求助。
...全文
474
14
打赏
收藏
VB中如何屏蔽回车和空格键
一个form内只有一个command按钮,默认焦点,现在按回车和空格键,或者鼠标点击都可以进入下一个画面, 但我需要屏蔽调回车和空格键的作用,如何实现,求助。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
binghe7
2005-02-23
打赏
举报
回复
顶下,都吃饭回来了八
binghe7
2005-02-23
打赏
举报
回复
楼上的没看清楚,现在是回车键没用,不是空格
楼上的楼上的,能不能找点简单介绍钩子的东东来看,你写的偶看不明白
Zygodactyous
2005-02-23
打赏
举报
回复
在按钮的keypress事件中处理
Private Sub Comman1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeySpace Then
KeyAscii = 0
Exit Sub
End If
End Sub
taosin
2005-02-23
打赏
举报
回复
试一下用钩子技术,这里是截取Combo1的WM_MOUSEMOVE的消息 ,改一下截取Command1 的vbKeySpace和vbKeyReturn的消息就行了:
'以下程式在module1.bas
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
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 Const GWL_WNDPROC = (-4)
Public Const WM_MOUSEMOVE = &H200
Public Const WM_RBUTTONDOWN = &H204
Public preWinProc As Long
Public Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
'以下程式会截取mouse move,处理完後,再将之送往原来的Window Procedure
If Msg = WM_MOUSEMOVE Then
'请处理Mouse Move的动作
Debug.print "Combol Mouse Move "
End if
'将之送往原来的Window Procedure
wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam)
End Function
'以下程式在Form1, form1中有一Combo1
Sub Form_Load()
Dim ret As Long
'记录原本的Window Procedure的位址
preWinProc = GetWindowLong(Combo1.hwnd, GWL_WNDPROC)
'设定Combo1的window Procedure到wndproc
ret = SetWindowLong(Combo1.hwnd, GWL_WNDPROC, AddressOf wndproc)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim ret As Long
'取消Message的截取,而使之又只送往原来的Window Procedure
ret = SetWindowLong(Combo1.hwnd, GWL_WNDPROC, preWinProc)
End Sub
binghe7
2005-02-23
打赏
举报
回复
问题就是在这里啊,痛苦~就命啊~~~^_^
xmuyyd
2005-02-23
打赏
举报
回复
我试了一下也是这样,三个事件都无法捕捉到回车键。关注ing.
binghe7
2005-02-23
打赏
举报
回复
在线等待,不可以设置隐藏控件的方法让焦点移开,还有好办法吗,指教
闲情漫步
2005-02-23
打赏
举报
回复
是啊,我的水平有限,我做出来的也是屏蔽空格键,但是回车键我屏蔽不掉,因为按下回车键后似乎不触发keypress事件,keyup keydown也是如此.
可不可以做一个不可见的控件,让其得到焦点,并用其keypress事件来判断按下的键,如果是回车或是空格,就不触发任何事件.
binghe7
2005-02-23
打赏
举报
回复
我是这样做的
Private Sub Command1_KeyDown(KeyCode As Integer,Shift As Integer)
If KeyCode = vbKeySpace Or KeyCode = vbKeyretrun Then
KeyCode = 0
End If
End Sub
另外有一个函数Private Sub Command1_Click()
现在问题是按空格键进入Command1_KeyDown函数,空格操作可以实现,但如果按回车键程序直接进入Command1_Click函数,而不进入Command1_KeyDown函数函数,回车无法屏蔽
mahua2003
2005-02-23
打赏
举报
回复
不全,但是希望对你有所帮助!
Private Sub Command1_Click()
MsgBox "The next form!"
End Sub
Private Sub Command1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeySpace Then
KeyAscii = 0
MsgBox "Can't not use Space key"
End If
End Sub
binghe7
2005-02-23
打赏
举报
回复
谢谢,不过前提条件,这个form内的东西是不能改变的,只能靠程序实现
griefforyou
2005-02-23
打赏
举报
回复
把这个command的tabstop 设为false,然后再加一个command,把他放到窗口外面。
viena
2005-02-23
打赏
举报
回复
用Command1_MouseDown事件+Command1_MouseUp事件代替Command1_Click事件~
binghe7
2005-02-23
打赏
举报
回复
~~~???anybody here??
VB
编写的格斗勇士游戏源代码免费放出.rar
作者:星光 编程原理详解: Image1是背景,Image2是人物(玩家),image3是子弹,image4是敌人,image5是敌人子弹, Label1有来显示“START”和“GAMEOVER”的,Label2和Label3用来显示任务状态, Label4和Label5显示生命值,label6显示关数,Label7显示是否发大招, Label8和Label9是用来直观显示生命值的,算法为:Label8.Width = Label4 * 10,这几个Label控件在代码
中
起到间接判断的作用 Timer1控制人上升,Timer2控制人下降, Timer3和Timer4控制让玩家子弹移动,Timer5控制第一关敌人车和子弹移动 Timer6判断子弹与人是否相碰,并减小生命值,Timer7控制第二关大怪上下移动,Timer8控制第三关子弹机车的移动 所有Picture控件
中
的图片,都是用于人物发生动作时(有的图片没用上),进行与Image图片切换,图片切换时,让人感觉image内的图片真动了! 键盘控制说明一下,
空格键
负责“跳”动作,Shift键和
回车
键控制发大招,W、S、A、D与方向键命令一样 下面这段代码是延时代码,出现过很多次,作用是:让两张图片切换时能让我们看见,
VB
执行速度很快,不加入这个就会看不出来图片切换 Dim Savetime As Single Savetime = Timer ‘记下开始的时间 While Timer < Savetime 2 ‘循环等待 DoEvents ‘控制权,以便让操作系统处理其它的事件。 Wend 好了说到这里,这是我做的第二个,还不是很完善,希望大家下载鼓励一下!里有操作说明:
空格键
负责“跳”动作,
回车
键发招,Shift键和
回车
键组合发大招。W、S、A、D和方向键命令一样(会玩的用前者,会玩卡丁车的用后者)
VB
.Net2010计算器
1
屏蔽
按钮获得焦点后,按空格、
回车
等于点击按钮效果; 2
回车
相当于等于号; 3增加键盘按键处理(本人笔记本没有数字键盘,若对数字键盘支持不好,可仿照已有键盘按键处理) 4有对多次按小数点,多次按运算符,多次按等号的处理。
计算机二级(
VB
)
计算机二级(
VB
)教程,全面、系统、细致地介绍了计算机二级(
VB
)的相关知识点。课程能够帮助学习者快速入门。该课程面向对象:备考计算机二级(
VB
)的课程备课期末考试自学
VB
程序设计课程注意提高学习者实战技巧,授课过程
中
以实际操作演示为主,帮助学习者快速地掌握编程的实际方法和技巧。课程以2019年计算机二级大纲为主线,详细介绍了
VB
的相关知识点。
Vb
6 绿色摇号软件 百变星君摇号王 v1.0
百变星君摇号王 v1.0 最简单的摇号软件(仅18k)永久免费超强变脸 ★绿色小巧,仅18k。 ★本摇号软件绿色免费,无需安装直接运行,数据直接复制粘贴,实现数据导入零操作。 ★使用时请在软件目录下的bonus.txt文件为摇号(抽奖)的资料库。可以从excel、word文档等直接复制粘贴过来。 ★每次软件刚运行,点击一次初始化,然后就可以摇号了。 ★开始按钮旁边的文本框里输入本次摇号需要摇出的号码个数。(默认是1个)可以直接按
回车
或
空格键
★进行摇号开始或停止。 ★字体设置的地方,双击字体二字可以伸缩字体列表,方便选择操作。 ★单击结果区右下角“v”“h”小按钮可以分别实现垂直伸缩和水平伸缩。 ★打印按钮可以打印当前结果区的内容。 ★支持完全键盘操作,最大程序界面简化。
如何从字符串
中
删除
回车
下面的语句用空格字符替换换行符。sValueWithLineBreaks.Replace(Environment.NewLine,“”);希望有帮助。
VB基础类
7,762
社区成员
197,608
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章