如何在keydown事件中禁止系统继续KeyPress事件?

Equn 2005-03-21 07:30:50
textbox控件中,我需要在keydown事件中检测一个按键,当按一个键时就加入一个文本串,并且取消当前按键。

即快捷键功能。
...全文
272 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy_sea 2005-03-24
  • 打赏
  • 举报
回复
在text控件中不用那么麻烦吧?...
固执的大叔 2005-03-22
  • 打赏
  • 举报
回复
Option Explicit
Dim s As String
Dim n As Integer

Private Sub Form_Load()
s = ""
n = X 'X为快捷键的ascii码常数
Text1 = ""
Text1.Locked = True
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Asc(Chr(KeyCode)) <> n Then
s = s & Chr(KeyCode)
End If
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = n Then 'n为你的快捷键的ascii码
KeyAscii = 0
Text1.SelText = s 's为你要添加的字符串
Text1.Locked = False
End If
End Sub

代码已经通过测试!!!
lsftest 2005-03-21
  • 打赏
  • 举报
回复
最彻底的方法:
用子类,把文本框的keydown、keyup消息都拦截下来,然后根据拦截下来的数据分析是否触发文本框的keydown事件。。。。
lsftest 2005-03-21
  • 打赏
  • 举报
回复
用子类试试。。。。。。。。。
dongge2000 2005-03-21
  • 打赏
  • 举报
回复
开心海的就行啊!
happy_sea 2005-03-21
  • 打赏
  • 举报
回复
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii =n Then 'n为你的快捷键的ascii码
KeyAscii = 0
Text1.SelText = s 's为你要添加的字符串
End If
End Sub
Equn 2005-03-21
  • 打赏
  • 举报
回复
to 88391788(A P-Designer):
谢谢你的热情,但不是我所需要的。
88391788 2005-03-21
  • 打赏
  • 举报
回复
楼主这是不是你要的
Private Sub Text1_KeyPress(KeyAscii As Integer)
Text1.Text = ""
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
Beep
Text1.Text = "您的输入有误!"
End If
End Sub


具体asc 可查阅相关帮助
代码转载自:https://pan.quark.cn/s/a4b39357ea24 LA 1010 逻辑分析仪被视作一种效能卓越的数字信号分析设备,其核心功能在于对数字通信协议,例如I²C,进行检测与解构。本资源将集阐述LA 1010的操作流程以及如何借助该设备对I²C协议的波形展开分析。 确保逻辑分析仪被正确地连接至目标系统是极为关键的环节。在运用LA 1010的过程,必须将分析仪的通道0与通道1分别对应连接至目标装置的SCL(时钟)与SDA(数据)线路。务必保证连接的稳固性且无任何干扰因素,以此确保数据采集的精确度。 随后,需要设定采样参数。采样频率对于能否成功捕捉到信号具有决定性的作用。针对I²C协议,通常选用的采样频率范围介于100kHz到400kHz之间,这一范围的选择取决于实际应用场景I²C总线的运行速度。然而,LA 1010所能达到的最高采样速率可能高达500MHz,因此需要根据具体需求进行相应的调整。此外,还必须精心挑选适配目标设备工作电压的电压等级,例如3.3V、5V或1.8V。 在软件操作层面,需要选取恰当的通道与协议种类,即I²C。一旦启动采样,逻辑分析仪便开始记录相关数据。软件界面通常会实时展示波形图,为观察与分析提供便利。 关于I²C协议波形的解读,我们可以遵循以下步骤: 1. 总线处于空闲状态时:SCL与SDA均维持在高电平位置,这表明总线当前未进行数据传输。 2. 传输起始信号:当SCL处于高电平期间,SDA线从高电平转换至低电平,此动作标志着数据传输的开始。 3. 地址、数据及应答的识别:在每一个SCL高电平脉冲的持续时间内,SDA线上的电平状态代表了数据位。地址与数据的传输均为双向过程,而读写标识则由SDA线上的电平来...

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧