登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [mfc][典型]对话框在按下回车时自动消失/edit 控件无法得到回车键     [回主站]     [分站链接]
标题
[mfc][典型]对话框在按下回车时自动消失/edit 控件无法得到回车键
clq
浏览(0) + 2008-04-24 13:54:11 发表 编辑

关键字:

[mfc][典型]对话框在按下回车时自动消失/edit 控件无法得到回车键

这两个问题通常是同一个问题,据说是 CDialog 会自动在 vk_return 和 vk_esc 时退出。其实只要重载 PreTranslateMessage 函数/事件就能解决了,方法如下:

BOOL CMfc_dialog1Dlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
{
//如果在EDIT控件里输入回车,则执行你的动作
}
// TODO: Add your specialized code here and/or call the base class

return CDialog::PreTranslateMessage(pMsg);
}

clq
2008-7-12 10:04:48 发表 编辑

最简单的办法是,先保留 On Cancel 按钮, 如果已经删除了可以从别的地方复制过来,然后双击它们产生
void ..::OnOK()
void ..::OnCancel()
事件代码,然后将默认生成的 CDialog::OnCancel(); CDialog::OnOK(); 去掉即可.

--------------------------------------------------

这样做之后还有一个问题,就是关闭按钮不起作用了,办法是响应 WM_CLOSE 事件

void ..::OnClose()
{
// TODO: Add your message handler code here and/or call default

CDialog::OnClose();
CDialog::OnCancel();//禁止了 OnCancel 就要加这个
}


总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1