请问VB怎么响应键盘事件~~?
我是VB新手,请问大虾VB怎么响应键盘事件?
例如:C语言里 x=scanf( "%d ",&a); 用VB怎么写啊?
[解决办法]
几乎每个控件都有keyup kedown keypress事件,当发生键击的时候,会触发相应的事件,时间带有keycode参数,可以判断具体是哪个键被按下,呵呵。
随便找本vb的入门书看看吧。
[解决办法]
Public Declare Sub keybd_event Lib "user32 " (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
用VB-WinAPI中的keybd_event
例子:
F1的代码是112,实现按下和松开的功能:
keybd_event 112, 0, 0), 0, 0
keybd_event 112, 0, 0), KEYEVENTF_KEYUP, 0
[解决办法]
只要你懂打开vb集成开发环境,你随便拉一控件进窗体里,都可看到响应键盘的事件过程,不管你愿不愿意放入响应代码,控件都可以接受该事件的,只是你放入代码就可看到反应,没放就什么都看不到而已。
[解决办法]
keypress
[解决办法]
此处txt_num是个文本框,如何判断文本框输入的是数字,可做参考,在代码编辑界面选中任意控件,其都有对应的KEYUP和KEYDOWN事件:
Private Sub txt_num_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode > = 48 And KeyCode <= 57 Then '数字
ElseIf KeyCode = 190 Then '小数点
Else '不是数字
MsgBox "请输入数字! "
txt_num.Text = " "
txt_num.SetFocus
End If
End Sub
[解决办法]
楼上的,keycode在96-110之间也是数字嘛,