请问怎样捕捉Tab键?

Ton2000 2003-09-29 10:24:16
我想捕捉Tab键,然后做些我想做的事,但我发现KeyDown, KeyPress事件中都不能捕捉Tab键,不指定各位是否有办法捕捉此键?
...全文
94 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),我试试!
1.linux系统介绍 以windows为内核的操作系统有哪些:win10   win8   win7  xp  系统    windows server 以linux为内核的操作系统有哪些:centos  ubuntu  debian   windows和linux  linux:服务器   安全    稳定 高效    windows:办公  家用  2.安装linux注意事项 对centos系统 的基本使用   有哪些文件夹   对文件/文件夹 进行操作  创建 删除  修改 移动 复制   写入 home 存放所有用户文件的根目录  soft :安装软件 cd  ll mkdir 创建文件  touch 空文件  echo sdsd>a.txt       vi a.txt vi c.txt  打开文件  按下i  改为写入的模式    写完之后保存: 先按下esc 按再按下:w 保存 :q退出  :wq    写完之后不想保存 强制退出  esc  :q! 删除文件/文件夹 rm -rf a.txt  b.txt rm -rf soft 复制 如果复制文件 cp  要复制的文件名   复制出来的文件名子    cp  a.txt   a1.txt 如果复制的是文件夹的 cp -r soft/   soft1 展示一个文件中的内容 cat  移动文件  mv  temp1   temp2 重命名 mv  temp1   temp2 查找: find /(查找的路径)  -name   *.txt    b 清屏  clear tab 可以帮助我们把输入的内容补全   3.配置局域网  需要通过ssh软件远程操作linux系统 远程操作centos系统  在windows操作系统中通过一款软件来远程操作虚拟电脑中的centos系统  ssh软件: xshell  secureCRT 第一步在win10系统中下载并且安装ssh软件 secureCRT    第二步:只要知道centos系统所在电脑的公网IP  登录账户和密码      /  win10和centos系统所在的两台电脑在同一个局域网内  局域网IP  登录账户和密码 第三步:centos系统 进行局域网的设置 往网卡中写入一些数据   win10写入的方式:桌面的化操作和centos系统写入的方式是不一样的  ip 网关 子网掩码 NM_conteolle。。。 命令  找到往网卡写入数据的文件    重新启动网络服务 开启22端口   重启防火墙服务 网络桥接网络  *************************端口是否开启  4.配置外网  下载软件1.下载并且安装到系统中 node.js环境   npm install bootstrap   默认的镜像库 centos系统    yum install  服务名     默认的镜像库  2.自己下载服务  wget 服务的网络地址 自己单独安装  比较灵活 安装难度大 windows系统  exe文件 linux       rpm包

13,825

社区成员

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

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