如何在Form的KeyDown事件中响应左、右方向键(注:Form中有多个Button)

郑大满 2002-11-12 09:36:29
在C++Builder中,Form中有多个Button,左、右方向键的默认行为是在这些多个Button上切换焦点;请问,如何改变这种默认行为,让我的Form的KeyDown事件响应左、右方向键?多谢!
...全文
56 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
郑大满 2002-11-13
  • 打赏
  • 举报
回复
感谢大家的帮助。
特别感谢jishiping(JSP季世平)
jishiping 2002-11-12
  • 打赏
  • 举报
回复
在OnShortCut事件里写代码拦截。
void __fastcall TForm1::FormShortCut(TWMKey &Msg, bool &Handled)
{
if (Msg.CharCode==VK_LEFT) {
Handled = true; //这样就不会在多个Button上切换焦点了
//加入你自己的代码
}
else if (Msg.CharCode==VK_RIGHT) {
Handled = true; //这样就不会在多个Button上切换焦点了
//加入你自己的代码
}
}
szbug 2002-11-12
  • 打赏
  • 举报
回复
楼上的方法可以的啊。。不知道有什么问题呢?
favorit 2002-11-12
  • 打赏
  • 举报
回复
KeyDown好像也响应方向键
butter527 2002-11-12
  • 打赏
  • 举报
回复
1 如果是这样,可以调整Tab顺序
2 KeyDown事件下(好象KeyPress响应方向键,KeyDown不响应???)
if(Key==VK_LEFT)//左方向键
{
......
......
}
if(Key==VK_RIGHT)//右方向键
{
......
......
}

604

社区成员

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

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