keyup事件无法触发

treewith 2012-04-05 04:56:51
大家好:cbc使用中遇到疑难杂症。

在sample中的控件TSpinEdit中输入文本,当keydown keypress keyup三个函数全部存在,且分别在三个函数中都写了
ShowMessage("down") "up" "press".

在按下ctrl键只显示 up, 按下数字字符键 只显示press down。

然后我在三个函数中都设断点,按下字符键调试,程序运行只进入 press 和 down

随后我删除了keydown函数,断点调试,能够正常进入up。这个太奇怪了。

每次按键,我认为这三个函数应该都触发的啊?顺序是
KeyDown → KeyPress → KeyChange → KeyUp

...全文
975 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
treewith 2012-04-07
  • 打赏
  • 举报
回复
我查了资料,确实是如你所说oldtab,但是实际调试程序的时候,keyup就是不触发啊,
真是愁死人了,是不是我c++builder的安装有问题啊?
我不懂电脑 2012-04-06
  • 打赏
  • 举报
回复
edit控件都会触发很正常。手头没BCB不能测试TSpinEdit
oldtab 2012-04-06
  • 打赏
  • 举报
回复
只有可显示字符、\r、汉字,才触发Keypress的。控制符等,是不会触发的。
一般的,Keydown、keyup,是会先后触发。不会只触发keydown
treewith 2012-04-06
  • 打赏
  • 举报
回复
这个问题确实很奇怪的,难道大家使用的时候,每次按键三个函数都会触发吗?
请知道的朋友指点一下,我再多加个20分。有多少给多少了。
treewith 2012-04-06
  • 打赏
  • 举报
回复
songhtao

本人换成edit控件,keydown keypress keyup 也没有都触发

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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