VC高手敬请留意,我什么都不要 再添加一个BUTTON IDXXX 不要设置成IDOK,原来的“OK”BUTTON 的属性设置成‘不可见’,不可用即可了,在 IDXXX 的事件中添加原ONOK的内容这是最笨,最简单的方法了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载PreTranslateMessage()函数加上自己对WM_KEYDOWN的处理 到rc文件中查找VK_ESCAPE之类的信息,干掉! 好好看书吧!Easy.你知道类中的虚函数干什么用的?在MFC中,MFC将许多消息和事件用相应的虚函数处理.如果你想改变特定的消息或事件的特性, 你需要重载对应的虚函数就可.所以,你需要重载OnOK(),OnCancel()两个虚函数就可以改变特性.CDialog::OnOK()和CDialog::OnCancel()就是退出程序,不调用基类的函数就不会退出了. 我正好在做一软件,刚好用到:BOOL CWqClientDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) { //OnSaybutton(); return TRUE; } if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE) { return TRUE; } return CDialog::PreTranslateMessage(pMsg);} longx的方法最规范, 实现也简单. 你只要重载对话框类的OnOk()和OnCancel()方法就可以了。当你按OK或ESC键时,MFC会分别调用这两个方法。CDialog中这两个方法的的缺省行为将调用EndDialog结束对话框。所以你只要重载这两个方法,其中什么代码都不用写就可以了。 你按Enter和ESC时,MFC也会自动调这两个方法 longx说得很对,就是这样:你在对话框类的头文件中加入这两行://overridesprotected: virtual void OnOK(){}; virtual void OnCancel(){}; 请问如何显示PSECURITY_DESCRIPTOR的内容 怎么判断硬盘空间 汇编基础问题。。。请教高人。。。 vc下ado访问access使用sql查询语句请教 消息处理? 请教有关Windows服务的问题,高手请进 为何我做的超级简单activeX控件只能用一次? 如何用CSocket类实现UDP数据报传输 server端ocx和cab,值得讨论 哪位大哥有电子邮件的源代码,我在网上下载的怎么都用不了,报告什么533 Server err,这是怎么回事? 请帮帮我吧 定义一个简单的类,怎么错了?
加上自己对WM_KEYDOWN的处理
你知道类中的虚函数干什么用的?
在MFC中,MFC将许多消息和事件用相应的
虚函数处理.如果你想改变特定的消息或
事件的特性, 你需要重载对应的虚函数就可.
所以,你需要重载OnOK(),OnCancel()两个虚函数
就可以改变特性.CDialog::OnOK()和CDialog::OnCancel()
就是退出程序,不调用基类的函数就不会退出了.
BOOL CWqClientDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
{
//OnSaybutton();
return TRUE;
}
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
{
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
//overrides
protected:
virtual void OnOK(){};
virtual void OnCancel(){};