处理KeyDown消息。
Private Sub txtCtl_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 4 And KeyCode = vbKeyF4 Then KeyCode = 0
End Sub
Private Sub txtCtl_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 4 And KeyCode = vbKeyF4 Then KeyCode = 0
End Sub
解决方案 »
- 请问如何将一个vb应用程序打包WINDOWS的服务安装程序
- 高分请教如何得到当前打开文件的路径
- 如何控制软件的限时问题,怎么通过一个简单软件进行延时?与注册表有什么关系吗?
- 哪位给我一个setup factory 注册码?
- 求 一个string 的程序,写不出来请高手帮助!
- 如何完整地显示用jmail收的邮件
- 请问如何将本地多个htm转换到一个纯文本文件中,谢谢!
- 怎样才能提高VB呢?
- 在VB中调用EXCEL做报表的问题
- Run-time error 430:class does not support automation or does not suport excepted interface
- 在VB的DataReport中能让它横打吗?
- 请教一个打印问题:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Shift = 0
End Sub
SHIFT、CTRL、ALT
三个键都没用了!
shift+tab做什么用?
tab键:
在 _keydown(KeyCode As Integer, Shift As Integer)事件中
KeyCode =9
Shift=0
alt键:
在 _keydown(KeyCode As Integer, Shift As Integer)事件中
KeyCode =18
Shift=4
但我不知道alt+tab如何屏蔽
你说的不对,
我怀疑alt+tab屏蔽不了 :(
实验发现:系统在发送WM_KEYDOWN消息以前就把VK_TAB截取另加处理了,所以TEXTBOX的WM_KEYDOWN消息不包含VK_TAB,只有用VC是可以的,可以在PreTranslateMsg中处理,如果是VK_TAB,就返回。可以屏蔽TAB键,VB好像最高级别只能抓到WM_KEYDOWN,我就不知道怎么办了...其实可以把窗口上的所有Control的TABSTOP设成FALSE,然后再TXTBOX_KEYPRESS中处理
if KeyAscii=9 then KeyAscii=0就行了.....
你的方法好用,其它人好像还没进入正题。