有关相应键盘消息的问题!

chensy0626 2003-08-21 03:43:04
我想用截取上下箭头的消息,我在OnKeyDown事件中添加的代码,把Form的KeyPreview属性设置为True,此时如果当前焦点在Form上的其它Button上,OnKeyDown事件中的代码就不执行了,好像没有触发似的,焦点在几个Button上移动,当焦点移动到最后一个Button时才执行OnKeyDown事件中的代码,为什么?所以我挂了一个键盘的钩子,但是当我按一下箭头时,钩子的回调函数却得到两次按下箭头的消息,郁闷中.....
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongyangzong 2003-08-28
  • 打赏
  • 举报
回复
不要用TButton,改用TSpeedButton.因为TButton有输入焦点,而TSpeedButton没有.
guanshangming 2003-08-21
  • 打赏
  • 举报
回复
//这是拦截小键盘的'+'键的代码, 摘自JSP
void __fastcall TForm1::FormShortCut(TWMKey &Msg, bool &Handled)
{
if(Msg.Msg==CN_KEYDOWN && Msg.CharCode==107)
{
Handled = true;

//添加的代码
}
}
chensy0626 2003-08-21
  • 打赏
  • 举报
回复
对了,挂上钩子后OnKeyDown事件中的代码已经被我注释掉了

13,824

社区成员

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

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