为什么 热键注册成功了,按下热键无响应??

wanglovec 2007-04-28 03:14:02
代码:
.h

class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
int caphotkeyid;
int caphotkeyid2;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
void __fastcall OnHotKey(TMessage & msg);
_fastcall ~TForm1();

protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_HOTKEY, TMessage, OnHotKey)
END_MESSAGE_MAP(TForm)

};

.cpp

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
caphotkeyid=GlobalAddAtom("lbggpcaphotkey")-0xC000;
caphotkeyid2=GlobalAddAtom("lbggpcaphotkey2")-0xC000;
if (RegisterHotKey(Form1->Handle,caphotkeyid,MOD_CONTROL,'g')==0)
{
ShowMessage("error");
}
if (RegisterHotKey(Form1->Handle,caphotkeyid2,MOD_CONTROL,'f')==0)
{
ShowMessage("error");
}
}
//---------------------------------------------------------------------------



void __fastcall TForm1::OnHotKey(TMessage & msg)
{
ShowMessage("123");//无响应
if (msg.WParam==caphotkeyid)
{
ShowMessage("ok");//无响应
}
}


_fastcall TForm1::~TForm1()
{
UnregisterHotKey(Form1->Handle,caphotkeyid);
DeleteAtom(caphotkeyid);
}



问题 一: 我按下ctrl+g+f 后 消息函数无响应.
问题二: 我可以这样注册两个热键吗?"g" 和"f";

...全文
450 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hys13love 2007-11-26
  • 打赏
  • 举报
回复
热键真麻烦!!!!顶一下
Waiting4you 2007-04-29
  • 打赏
  • 举报
回复
不行, Ctrl+G+F 得通过键盘钩子.
wanglovec 2007-04-29
  • 打赏
  • 举报
回复
waiting4you

如果我想注册 ctrl+G+F怎么办??
Waiting4you 2007-04-29
  • 打赏
  • 举报
回复
if (RegisterHotKey(Form1->Handle,caphotkeyid,MOD_CONTROL,'G')==0) //g大写, 查Virtual-Key Codes
wanglovec 2007-04-29
  • 打赏
  • 举报
回复
妖哥 帮忙呀 !!
wanglovec 2007-04-29
  • 打赏
  • 举报
回复
哦 好的谢谢
wanglovec 2007-04-28
  • 打赏
  • 举报
回复
可是我按了无任何反应呀
constantine 2007-04-28
  • 打赏
  • 举报
回复
ctrl+g or ctrl+f
wanglovec 2007-04-28
  • 打赏
  • 举报
回复
自己顶了

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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