Office中国论坛/Access中国论坛

标题: 在文本框中,如何响应数字键盘的“+”键事件? [打印本页]

作者: secondonsite    时间: 2006-12-4 09:08
标题: 在文本框中,如何响应数字键盘的“+”键事件?
在文本框中,如何响应数字键盘的“+”键事件?Thank you so much.
作者: tz-chf    时间: 2006-12-4 21:08
keycode
作者: secondonsite    时间: 2006-12-5 07:36
具体怎么写?一点概念都没有,别笑话!
作者: qlm    时间: 2006-12-5 08:15
http://www.office-cn.net/vvb/dispbbs.asp?BoardID=2&replyID=47848&id=50125&skin=0
作者: secondonsite    时间: 2006-12-5 08:30
这个例子我看过了,还是不懂。

Private Sub Text3_Enter()
Const VK_NUMLOCK = 144
If GetKeyState(VK_NUMLOCK) <> 1 Then
  End If
End Sub


VK_NUMLOCK = 144是什么意思?keybd_event VK_NUMLOCK, 0, 1, 0在我这里应该跟什么参数值?


作者: hi-wzj    时间: 2006-12-5 18:23
144 +号的编码 1和0是真和假的编码
作者: secondonsite    时间: 2006-12-5 18:33
144不是数字开关键的编码吗?数字小键盘的“+”、“-”、“Enter”是什么编码?谢谢!
作者: hi-wzj    时间: 2006-12-5 18:53
新建一个窗体,将代码贴进去,然后在窗体主体中按键

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode
End Sub

作者: secondonsite    时间: 2006-12-5 19:02
高手:keybd_event能否给解释解释,帮助里没查到。谢谢!
作者: secondonsite    时间: 2006-12-5 23:52
    “+”键事件得到了,谢谢各位大侠。但随之而来了新问题:在文本框里出现了不希望有的“+”号。也就是说:我只要“+”键的响应事件,但不输入“+”号。

革命尚未成功,同志还需努力……
作者: andymark    时间: 2006-12-6 00:39
try:

Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 107 Then
     KeyCode = 0
   
    DoCmd.OpenForm "窗体1"   
   
  End If
End Sub
作者: qlm    时间: 2006-12-6 02:33
下面这个方法可能不行,你试试吧

private sub 文本框_change()

if instr(文本框.text,"+")<>0 then 文本框.text=replace(文本框.text,"+","")

end sub
作者: secondonsite    时间: 2006-12-6 09:03
            KeyCode = 0 '关闭键盘任何的字符型输入。
            DoCmd.OpenForm "MyForm" '刷新窗体并开启键盘字符输入方式。
            SendKeys "{ENTER}", True 使文本框回到编辑状态。

andymark的方法可行,谢谢!

要么怎么就是高涅……







欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3