请问怎样捕捉Tab键?

Ton2000 2003-09-29 10:24:16
我想捕捉Tab键,然后做些我想做的事,但我发现KeyDown, KeyPress事件中都不能捕捉Tab键,不指定各位是否有办法捕捉此键?
...全文
93 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fatwave 2003-09-29
  • 打赏
  • 举报
回复
写个消息机制截获按下Tab这个消息!!
xuv2002 2003-09-29
  • 打赏
  • 举报
回复
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if(Msg.message == WM_KEYDOWN && Edit1->Focused() == true){
if(Msg.wParam == VK_TAB){
ShowMessage("Catched.");
}
}
}//这个是专门对Edit1的Tab按键进行捕捉
//TApplicationEvents控件的OnMessage事件,也相当于TApplicaton类的OnMessage事件
xuv2002 2003-09-29
  • 打赏
  • 举报
回复
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if(Msg.message == WM_KEYDOWN && Edit1->Focused() == true){
if(Msg.wParam == VK_TAB){
ShowMessage("Catched.");
}
}
}//这个是专门对Edit1的Tab按键进行捕捉
//TApplicationEvents控件的OnMessage事件,也相当于TApplicaton类的OnMessage事件
ljianq 2003-09-29
  • 打赏
  • 举报
回复
控件的OnEnter事件;
Siney 2003-09-29
  • 打赏
  • 举报
回复
在什么控件里捕获tab健,很多控件确实是不支持捕获那个健
Ton2000 2003-09-29
  • 打赏
  • 举报
回复
xuv2002(XuWei),再次感谢,你的方法完全正确!

我想C++Builder论坛有你们这些人真是我及其他CB水平不高的人的福气!
xuv2002 2003-09-29
  • 打赏
  • 举报
回复
if(this->ActiveControl == DBGrid1)
Ton2000 2003-09-29
  • 打赏
  • 举报
回复
我又试了一下,发现当DBGrid处于编辑状态的时候,DBGrid1->Focused()不为真,但焦点确实在DBGrid1里,不知道要怎么判断了!
Ton2000 2003-09-29
  • 打赏
  • 举报
回复
我是在DBGrid中捕捉Tab键,你们的方法在DBGrid没处于编辑状态的时候还是可以捕捉到,但当DBGrid处于编辑状态或者说用户正在录入数据的时候就捕捉不到了,不知道为什么!
ccrun.com 2003-09-29
  • 打赏
  • 举报
回复
添加一个ApplicationEvents在Form上。这个组件在Additional页面倒数第四个。
然后在ApplicationEvents的OnMessage事件中写以上代码就可以。
Ton2000 2003-09-29
  • 打赏
  • 举报
回复
xuv2002(XuWei),在头文件中怎么声明这个函数啊?
Ton2000 2003-09-29
  • 打赏
  • 举报
回复
谢谢xuv2002(XuWei),我试试!

13,825

社区成员

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

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