一个菜鸟很菜的问题,在线等,急用,50分相送. 我的程序是一个基于对话框的程序,有编辑框和按钮等控件,现在我想实现的功能是给这个按钮定义一个快捷键ctrl+回车,即想用键盘上的组合键ctrl+回车来促发按钮的响应事件,就像QQ里面一按ctrl+回车就发送,跟点击发送迎按钮的功能一样.如果把按钮定义为默认的,按回车就可以,但现在若正在编辑框里面输入文字,按回车就换行,说明了就跟QQ这些功能一样.兄弟姐妹们帮帮菜鸟!感激不尽! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用快捷键,具体参见以下连接http://msdn.microsoft.com/msdnmag/issues/1200/c/中的以下问题I wrote a dialog application that can be hidden. Now I want a hot key (like Ctrl+Alt+S) to show it. How can I do this? 在微软网站上检索时的关键字:OnHotKey 响应对话框的PreTranslateMsg函数,截获CTRL+回车。 要是Java就方便多了~textfield.addKeyListener( new KeyAdapter() { public void keyTyped(KeyEvent e) { if(e.getKeyChar() == '\n') { // Send Message if(e.isControlDown()) sendMessage(); } } } 由CEdit派生一个类别CMyEdit,用CMyEdit替换原工程中CEdit控件基类(即,将CEdit替换为CMyEdit),在CMyEdit中重载有关函数,并处理CTRL+RETURN即可。 由CEdit派生一个类别CMyEdit,用CMyEdit替换原工程中CEdit控件基类(即,将CEdit替换为CMyEdit),在CMyEdit中重载有关函数,并处理CTRL+RETURN即可。怎么来获取CTRL+RETURN这个消息呢?不好弄啊,要是只是一个键就可以,两个键怎么弄呢? 在你的对话框类中可重写这个虚函数virtual BOOL PreTranslateMessage(MSG* pMsg);实现如下BOOL CDlg1::PreTranslateMessage(MSG* pMsg){ if(pMsg->message==WM_KEYDOWN) { if(pMsg->wParam==VK_RETURN) //判断按下回车键 { if(GetKeyState(VK_CONTROL)<0) //是否同时按下了ctl键 { OnButton1(); //触发你的按钮 return TRUE; } } } return CDialog::PreTranslateMessage(pMsg);} linur(林夕) thanks very much ,i got it! SKINSE界面库:打算以DEMO实例的形式开放技术点 求用VC++实战写小程序的教程? 关于自定义CStatic 软件测试程序的问题,请大家指点 调查:汉字在信息处理方面有什么劣势? 如何解决VC游戏编程的闪屏问题?????? 超级简单问题,超级变态。谁帮忙解决一下。关于CString的Format用法 哪位师兄帮帮忙,VC编程状态栏的问题,有一个出错的地方,解决后另有分相送!! 如何继承一个自定义类,具体实现步骤 做个调查:您作为IT从业者,毕业后第一次跳槽是在工作后的第几年? dialog框的滚动条事件问题 用MFC做Active控件碰到的一个问题
http://msdn.microsoft.com/msdnmag/issues/1200/c/
中的以下问题
I wrote a dialog application that can be hidden. Now I want a hot key (like Ctrl+Alt+S) to show it. How can I do this? 在微软网站上检索时的关键字:OnHotKey
{
public void keyTyped(KeyEvent e)
{
if(e.getKeyChar() == '\n')
{
// Send Message
if(e.isControlDown())
sendMessage();
}
}
}
怎么来获取CTRL+RETURN这个消息呢?不好弄啊,要是只是一个键就可以,两个键怎么弄呢?
virtual BOOL PreTranslateMessage(MSG* pMsg);
实现如下BOOL CDlg1::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN) //判断按下回车键
{
if(GetKeyState(VK_CONTROL)<0) //是否同时按下了ctl键
{
OnButton1(); //触发你的按钮
return TRUE;
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
thanks very much ,i got it!