tab 键问题?

zzffhh 2003-05-28 02:59:13
在 edit1->text 的 onkeydown 事件中
我需要按回车键或tab键都触发事件。
为什么 tab键 没反应。
(1)
if (key == vk_return ) //回车键有效
{
//
}
(2)
if (key == vk_tab) //tab键无效
{
//
}
(3)
//回车键有效有效 ,tab键无效
if (key == vk_return || key == vk_tab )
{
//
}
怎么改成 tab 键也可触发事件。
谢谢。

...全文
68 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuv2002 2003-05-28
  • 打赏
  • 举报
回复
在Form上放一个ApplicationEvents 控件(在Additional页)
在该控件的OnMessage事件里面写
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
HWND hwnd = Msg.hwnd;
if(hwnd==Edit1->Handle&&Msg.message==WM_KEYDOWN){
if(Msg.wParam==VK_TAB){
Edit1->Text = "Catched";//在这添加代码
//Handled = true;//假如将Handled设为True,则屏蔽该Tab键的响应,焦点不会从Edit1 离开(等于没有按Tab)
}
}
}

或是在.h 声明一个类似的函数
void __fastcall MyMessaage(tagMSG &Msg,bool &Handled);
然后在Form构造函数里面写
Application->OnMessage = MyMessage;
其他一样,就可以了

13,825

社区成员

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

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