弱弱的问题:APPWIZARD自动生成的DIALOG中按下回车或ESC就直接关闭,如何取消这种响应,要用鼠标点击才响应关闭? RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 响应WM_PRETRANSLATE消息if(pMsg->message==WM_CHAR){ if(pMsg->wParam==VK_ESCAPE) return TRUE;}关键是认识窗口消息和它的作用,对你很有帮助! 随便添加一个按钮,使其为DefaultButton,在OnButton1()里什么都不写,再让这个按钮不可见。 载重PreTranslateMessage在函数中加入 switch(pMsg->message) { case WM_KEYDOWN: switch (pMsg->wParam) { case VK_ESCAPE: case VK_RETURN: return TRUE; break; } } 常用方法:void CMyDlg::OnOk(){// CDialog::OnOk();<---look here!} virtualfunction的方法会使鼠标点击关闭失效,不可行。还是试一下 cadinfo(无语清风)和zmrzzg(zmrzzg)的办法 把AppWizard生成的按钮代码注释掉,然后自定义! 把OK按钮的ID : IDOK改为ID_NOOK去掉他的default button不要改动ONOK函数为ID_NOOK生成OnClick(){ CDialog:;OnOk();} MFC为什么当前窗口会退至其他窗口之后??? 我已跪下...怎么让编辑框显示最底部的文字!!! 如何实现RichEdit的长文本自动换行??? 实时刷新窗体控件时,不能对窗体进行操作。。。。。 如何将文件创建到系统目录中呢? EOF和BOF有一个为真的老问题了! 恳求指导: 调试中的 Lib 库文件问题 请教各位高手(关于windows media player9 的问题) 一个小问题?求助!!! 高手,救救我!!急!!! 请大家讨论一下:如何让vc程序效率最高。进者有分! 非常规串口问题:如何把内存中的数据直接写入串口输入缓冲区?或者直接去读串口输出缓冲区?
if(pMsg->message==WM_CHAR)
{
if(pMsg->wParam==VK_ESCAPE)
return TRUE;
}
关键是认识窗口消息和它的作用,对你很有帮助!
在函数中加入
switch(pMsg->message)
{
case WM_KEYDOWN:
switch (pMsg->wParam)
{
case VK_ESCAPE:
case VK_RETURN: return TRUE;
break;
}
}
void CMyDlg::OnOk()
{
// CDialog::OnOk();<---look here!
}
还是试一下 cadinfo(无语清风)和zmrzzg(zmrzzg)的办法
去掉他的default button
不要改动ONOK函数
为ID_NOOK生成OnClick()
{
CDialog:;OnOk();
}