如何改掉键盘的功能

fallback 2004-12-27 10:10:50
比如:小键盘0(vbKeyNumpad0),常规为0数字,现在想不执行0 ,改为按vbKeyNumpad0之后为触发自定义事件,是否可行,如何操作?
谢谢!
...全文
229 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tztz520 2004-12-27
  • 打赏
  • 举报
回复
你测试一下.
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print KeyCode'看一下KeyCode有什么不同
End Sub

系统上的小键盘的0就是96
ret = RegisterHotKey(Me.hWnd, &HBFFF&, 0, 96)'这样就注册了小键盘上的0,你也可以根据KeyCode注册不同的按键
fallback 2004-12-27
  • 打赏
  • 举报
回复
TO: tztz520(午夜逛街)

我有个小键盘,功能跟键盘上的小键盘一样,那样子可以区别出是外接键盘还是系统上的键盘吗
tztz520 2004-12-27
  • 打赏
  • 举报
回复
'下面的代码可以实现.就是将小键盘的0注册为热键.

Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hWnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type


Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean
Public Sub ProcessMessages()
Dim Message As Msg
Do While Not bCancel
WaitMessage
If PeekMessage(Message, Me.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
Debug.Print "你按了小键盘的0"
End If
DoEvents
Loop
End Sub


Private Sub Form_Load()
Dim ret As Long
bCancel = False
ret = RegisterHotKey(Me.hWnd, &HBFFF&, 0, 96)
Show
ProcessMessages
End Sub
Private Sub Form_Unload(Cancel As Integer)
bCancel = True
Call UnregisterHotKey(Me.hWnd, &HBFFF&)
End Sub
cindytsai 2004-12-27
  • 打赏
  • 举报
回复
看看:
http://community.csdn.net/Expert/topic/3663/3663735.xml?temp=.9183313
tztz520 2004-12-27
  • 打赏
  • 举报
回复
不客气 :)
fallback 2004-12-27
  • 打赏
  • 举报
回复
谢谢: tztz520(午夜逛街) !
2.1.02说明: 本软件是部分EDA软件的鼠标增强工具,单文件,去掉原来的DLL文件,支持protel99se,DXP,POWERPCB,OrCAD的capture、Cam350、Saber、PC Schematic、Allegro,并且对每个软件的功能都可设置,用户可根据使用习惯打开或者关闭功能。 针对protel99se,DXP(功能和从前一样): 1. 向上滚动滚轮 --> 放大,相当于PageUp(不能改掉软件原来的快捷键,否则就不灵了) 2. 向下滚动滚轮 --> 缩小,相当于PageDown(不能改掉软件原来的快捷键,否则就不灵了) 3. 按下滚轮 --> 切换有效图层并刷新,相当于小键盘'*'的功能 4. 按左键拖目标 --> 再按右键可旋转,相当于空格键的功能,在布局时非常好用,请留意 5. 按右键拖动屏幕 针对PADS(支持PADS2005SP2、PADS2007,别的版本没有测过,应该也支持): 1. 向上滚动滚轮 --> 放大,相当于PageUp 2. 向下滚动滚轮 --> 缩小,相当于PageDown 3. 按住鼠标右键移动,可移动工作区,相当于SHIFT+滚轮或者ALT+滚轮,不平滑 4. 鼠标中键点击 --> 切换图层,相当于F4,原中键点击功能废弃 5. 按左键拖目标 --> 再按右键可旋转,相当于空格键的功能,在布局时非常好用,请留意 针对OrCAD: 1. 向上滚动滚轮 --> 放大,相当于字母"I"键 2. 向下滚动滚轮 --> 缩小相当于字母"O"键 3. 按住鼠标右键移动,可移动工作区 针对Cam350: 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键 3. 按住鼠标右键移动,可移动工作区 针对Saber: 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键 针对PC Schematic(V11有测试): 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键, 原有快捷键要改 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键,原有快捷键要改 针对Allegro(15.7有测试,已经有中键缩放的新版本请禁止该功能): 1. 向上滚动滚轮 --> 放大,相当于"F10"键 2. 向下滚动滚轮 --> 缩小,相当于"F11"键
用AD设计线路板时,配合它超好用。 2.1.13说明: 本软件是多种EDA软件的鼠标增强工具,绿色单文件,支持Win9x/NT/2000/XP/WIN7,其中WIN7需要以管理员模式运行,另外,Win9x需要编译成非UNICODE版本,有需要的用户可发邮件给我索取,支持protel99se,DXP(AD),PADS,OrCAD的capture、Cam350、Saber、PC Schematic、Allegro、CircuitCAM,并且对每个软件的功能都可设置,用户可根据使用习惯打开或者关闭功能。 软件启动时和启动后每隔24小时检查更新,如果系统能上网,有更新时会有增量更新信息。 针对protel99se, DXP,Altium Designer: 1. 向上滚动滚轮 --> 放大,相当于PageUp(不能改掉软件原来的快捷键,否则就不灵了) 2. 向下滚动滚轮 --> 缩小,相当于PageDown(不能改掉软件原来的快捷键,否则就不灵了) 3. 按下滚轮 --> 切换有效图层并刷新,相当于小键盘'*'的功能 4. 按左键拖目标 --> 再按右键可旋转,相当于空格键的功能,在布局时非常好用,请留意 5. 按右键拖动屏幕 6. 原理图里单击中键呼出放置菜单,相当于按“P”键1次,连按两次相当于直接放置元件 7. 按中键向左移动撤消操作,相当于ALT+Backspace 8. 按中键向右移动重做操作,相当于CTRL+Backspace 9. 按中键向上移动,画线时删除上一次操作,相当于按Backspace 10.按中键向下移动,可删除当前焦点或选中内容,相当于按DELETE和CTRL+DELETE 针对PADS(支持各种版本logic, pcb): 1. 向上滚动滚轮 --> 放大,相当于PageUp 2. 向下滚动滚轮 --> 缩小,相当于PageDown 3. 按住鼠标右键移动,可移动工作区 4. 鼠标中键点击 --> 切换图层,相当于F4,原中键点击功能废弃 5. 按左键拖目标 --> 再按右键可旋转,相当于TAB键的功能,在布局时非常好用,请留意 针对OrCAD: 1. 向上滚动滚轮 --> 放大,相当于字母"I"键 2. 向下滚动滚轮 --> 缩小相当于字母"O"键 3. 按住鼠标右键移动,可移动工作区 4. 按中键呼出放置窗口的功能,相当于按“P”键1次 5. 按中键向左移动撤消操作,相当于按CTRL+Z 6. 按中键向右移动重做操作,相当于按CTRL+Y 7. 按中键向上移动,进入画线操作,相当于按W键 8. 按中键向下移动,删除选中内容,相当于按DELETE键 针对Cam350: 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键 3. 按住鼠标右键移动,可移动工作区 4. 修改原中键功能,按中键放开,连续按两次显示视图全部,单次相当于按“HOME”键再中键点击的效果 5、按中键向左移动撤消操作,相当于按CTRL+Z 6、按中键向右移动重做操作,相当于按CTRL+U 7、按中键向上移动,呼出Aperture Table,相当于按A键 8、按中键向下移动,删除选中内容,相当于按Edit菜单里的DELETE项 针对Saber: 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键 针对PC Schematic(V11有测试): 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键, 原有快捷键要改 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键,原有快捷键要改 针对Allegro(15.7有测试,已经有中键缩放的新版本请禁止该功能): 1. 向上滚动滚轮 --> 放大,相当于"F10"键 2. 向下滚动滚轮 --> 缩小,相当于"F11"键 3. 中键拖动反转(适合习惯AutoCAD等中键拖动的用户) 针对CircuitCAM: 1. 向上滚动滚轮 --> 放大,相当于"PageUp"键 2. 向下滚动滚轮 --> 缩小,相当于"PageDown"键 3. 按住鼠标右键移动,可移

7,789

社区成员

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

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