关于对话框的ESC,Enter,F1键的问题

walkman 2000-06-28 10:56:00
在用VC资源生成的dialog中,怎样让ESC,Enter,F1键不执行缺省的操作?
请大虾们多帮忙!
...全文
293 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
walkman 2000-06-28
  • 打赏
  • 举报
回复
能具体点吗,在PreTransMessage()中怎样能判断键盘消息?多谢!
whongshu 2000-06-28
  • 打赏
  • 举报
回复
ESC最终要调用OnCancel(),ENTER要调用DEFAULT BUTTON的OnClick,F1要调用HELP,可以在PreTransMessage()中处理
舟中夜起 2000-06-28
  • 打赏
  • 举报
回复
你在WM_CLOSE消息中添加CDialog::OnCancel();
就OK了:)

void CTestHelpDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CDialog::OnCancel();
CDialog::OnClose();
}
walkman 2000-06-28
  • 打赏
  • 举报
回复
多谢!
但是“//CDialog::OnCancel();“后,
用ALT+F4关闭不了对话框,怎么办?
舟中夜起 2000-06-28
  • 打赏
  • 举报
回复
F1:WinHelp消息处理函数(在ClassWizar中找WinHelp消息)
void CMyDlg::WinHelp(DWORD dwData, UINT nCmd)
{
//CDialog::WinHelp(dwData, nCmd);
}

记得给我加分:)
舟中夜起 2000-06-28
  • 打赏
  • 举报
回复
ESC:把Cancel按钮的消息处理函数中的CDialog::OnCancel()屏蔽掉,如没有Cancel键,自己添加
void CMyDlg::OnCancel()
{
// TODO: Add extra cleanup here

//CDialog::OnCancel();
}
Enter:为Ok按钮
void CMyDlg::OnOK()
{
// TODO: Add extra validation here

//CDialog::OnOK();
}
F1待定:)
walkman 2000-06-28
  • 打赏
  • 举报
回复
我已试过WM_CHAR,WM_KEYDOWN,WM_SYSKEYDOWN,WM_HOTKEY,
有的能得到消息,确无法阻止缺省操作,请有经验的高手指点,
以免在下绕弯子,多谢!
walkman 2000-06-28
  • 打赏
  • 举报
回复
我已试过WM_KEYDOWN,WM_KEYUP,WM_SYSKEYDOWN,WM_HOTKEY,WM_CHAR,
能截取消息,但无法阻止缺省的操作,请有经验的高手指点一下。多谢!
PatrickGamp 2000-06-28
  • 打赏
  • 举报
回复
注意MSG结构中的各成员.message,wParam,lParam是非常重要的.
但愿以后再也没人提关于这个的问题了.
请多多指教一、常见用法: F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows或CTRL+ESC 打开开始菜单 CTRL+ALT+DELETE 在win9x中打开关闭程序对话框 DELETE 删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是 放入回收站 CTRL+N 新建一个新的文件 CTRL+O 打开“打开文件”对话框 CTRL+P 打开“打印”对话框 CTRL+S 保存当前操作的文件 CTRL+X 剪切被选择的项目到剪贴板 CTRL+INSERT 或 CTRL+C 复制被选择的项目到剪贴板 HIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作 Winndows+M 最小化所有被打开的窗口 Windows+CTRL+M 重新将恢复上一项操作前窗口的大小和位置 Windows+E 打开资源管理器 Windows+F 打开“查找:所有文件”对话框 Windows+R 打开“运行”对话框 Windows+BREAK 打开“系统属性”对话框 Windows+CTRL+F 打开“查找:计算机”对话框 SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单 SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏 ALT+F4 关闭当前应用程序 ALT+SPACEBAR 打开程序最左上角的菜单 ALT+TAB 切换当前程序 ALT+ESC 切换当前程序 ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换 PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板 CTRL+F4 关闭当前应用程序中的当前文本(如word中) CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前 一个窗口) 在IE中: ALT+RIGHT ARROW 显示前一页(前进) ALT+LEFT ARROW 显示后一页(后退) CTRL+TAB 在页面上的各框架中切换(加shift反向) F5 刷新 CTRL+F5 强行刷新 目的快捷 F10 激活程序中的菜单栏 ALT+菜单上带下划线的字母 执行菜单上相应的命令 CTRL+ F4 关闭多文档界面程序中的当前窗口 ALT+ F4 关闭当前窗口或退出程序 CTRL+ C 复制 CTRL+ X 剪切 DELETE 删除 F1 显示所选对话框项目的帮助 ALT+空格 显示当前窗口的系统菜单 SHIFT+ F10 显示所选项目的快捷菜单 CTRL+ ESC 显示“开始”菜单 ALT+连字号(-) 显示多文档界面程序的系统菜单
f1 显示当前程序或者windows的帮助内容。 f2 当你选中一个文件的话,这意味着“重命名” f3 当你在桌面上的时候是打开“查找:所有文件” 对话框 f10或alt 激活当前程序的菜单栏 windows或ctrl+esc 打开开始菜单 ctrl+alt+delete 在win9x中打开关闭程序对话框 delete 删除被选择的选择项目,如果是文件,将被放入回收站 shift+delete 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 ctrl+n 新建一个新的文件 ctrl+o 打开“打开文件”对话框 ctrl+p 打开“打印”对话框 ctrl+s 保存当前操作的文件 ctrl+x 剪切被选择的项目到剪贴板 ctrl+insert 或 ctrl+c 复制被选择的项目到剪贴板 shift+insert 或 ctrl+v 粘贴剪贴板中哪谌莸降鼻拔恢? alt+backspace 或 ctrl+z 撤销上一步的操作 alt+shift+backspace 重做上一步被撤销的操作 windows+m 最小化所有被打开的窗口。 windows+ctrl+m 重新将恢复上一项操作前窗口的大小和位置 windows+e 打开资源管理器 windows+f 打开“查找:所有文件”对话框 windows+r 打开“运行”对话框 windows+break 打开“系统属性”对话框 windows+ctrl+f 打开“查找:计算机”对话框 shift+f10或鼠标右击 打开当前活动项目的快捷菜单 shift 在放入cd的时候按下不放,可以跳过自动播放cd。在打开word的时候按下不放,可以跳过自启动的宏 alt+f4 关闭当前应用程序 alt+spacebar 打开程序最左上角的菜单 alt+tab 切换当前程序 alt+esc 切换当前程序 alt+enter 将windows下运行的msdos窗口在窗口和全屏幕状态间切换 print screen 将当前屏幕以图象方式拷贝到剪贴板 alt+print screen 将当前活动程序窗口以图象方式拷贝到剪贴板 ctrl+f4 关闭当前应用程序中的当前文本(如word中) ctrl+f6 切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口) 在ie中: alt+right arrow 显示前一页(前进) alt+left arrow 显示后一页(后退) ctrl+tab 在页面上的各框架中切换(加shift反向) f5 刷新 ctrl+f5 强行刷新 目的快捷 激活程序中的菜单栏 f10 执行菜单上相应的命令 alt+菜单上带下划线的字母 关闭多文档界面程序中的当 前窗口 ctrl+ f4 关闭当前窗口或退出程序 alt+ f4 复制 ctrl+ c 剪切 ctrl+ x 删除 delete 显示所选对话框项目的帮助 f1 显示当前窗口的系统菜单 alt+空格 显示所选项目的快捷菜单 shift+ f10 显示“开始”菜单 ctrl+ esc 显示多文档界面程序的系统 菜单 alt+连字号(-) 粘贴 ctr l+ v 切换到上次使用的窗口或者 按住 alt然后重复按tab, 切换到另一个窗口 alt+ tab 撤消 ctrl+ z 二、使用“windows资源管理器”的快捷 目的快捷 如果当前选择展开了,要折 叠或者选择父文件夹左箭头 折叠所选的文件夹 num lock+负号(-) 如果当前选择折叠了,要展开 或者选择第一个子文件夹右箭头 展开当前选择下的所有文件夹 num lock+* 展开所选的文件夹 num lock+加号(+) 在左右窗格间切换 f6 三、使用 windows 可以使用 microsoft自然盘或含有 windows徽标的其他任何兼容盘的以下快捷。 目的快捷 在任务栏上的按钮间循环 windows+ tab 显示“查找:所有文件” windows+ f 显示“查找:计算机” ctrl+ windows+ f 显示“帮助” windows+ f1 显示“运行”命令 windows+ r 显示“开始”菜单 windows 显示“系统属性”对话框 windows+ break 显示“windows资源管理器” windows+ e 最小化或还原所有窗口 windows+ d 撤
Win7关机快捷  按下Win松开  按按下盘上的右箭头 →  按下回车 Win7重启快捷  按下Win松开  按下→两次  按下↑  按下回车 锁定计算机快捷 WIN+ L F& DELETE快捷 F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件”对话框 F10或ALT 激活当前程序的菜单栏 DELETE 删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 Windows组合 windows或CTRL+ESC 打开开始菜单 Windows+BREAK 打开“系统属性”对话框 Windows +D 显示桌面 Windows+E 打开资源管理器 Windows+F 打开“查找:所有文件”对话框 Windows+R 打开“运行”对话框 Windows +T 循环切换任务栏上的程序 Windows+M 最小化所有被打开的窗口 Windows + Shift + M 将最小化的窗口还原到桌面 Windows+CTRL+F 打开“查找:计算机”对话框 Windows + Home 最小化除活动窗口之外的所有窗口 Windows + 空格 预览桌面 Windows + 向上 最大化窗口 Windows + 向左 将窗口最大化到屏幕的左侧 Windows + 向右 将窗口最大化到屏幕的右侧 Windows + 向下 最小化窗口 Windows + Shift + 向上 将窗口拉伸到屏幕的顶部和底部 Windows + Shift + 向左或向右 将窗口从一个监视器移动到另一个监视器 Windows + Tab 使用 Aero Flip 3-D 循环切换任务栏上的程序 Ctrl + Windows + Tab 通过 Aero Flip 3-D 使用箭头循环切换任务栏上的程序 Windows + 数字 启动锁定到任务栏中的由该数字所表示位置处的程序。如果该程序已在运行,则切换到该程序 Shift + Windows + 数字 启动锁定到任务栏中的由该数字所表示位置处的程序的新实例 Ctrl + Windows + 数字 切换到锁定到任务栏中的由该数字所表示位置处的程序的最后一个活动窗口 Alt + Windows + 数字 打开锁定到任务栏中的由该数字所表示位置处的程序的跳转列表 Ctrl + Windows 徽标 + B 切换到在通知区域中显示消息的程序 Windows + P 选择演示显示模式 Windows + G 循环切换小工具 Windows + U 打开轻松访问中心 Windows + X 打开 Windows 移动中心 CTRL组合 CTRL+N 新建一个新的文件 CTRL+O 打开“打开文件”对话框 CTRL+P 打开“打印”对话框 CTRL+S 保存当前操作的文件 CTRL+X 剪切被选择的项目到剪贴板 CTRL+INSERT 或 CTRL+C 复制被选择的项目到剪贴板 SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置 CTRL+F4 关闭当前应用程序中的当前文本(如word中) CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口) ALT组合 ALT+F4 关闭当前应用程序 ALT+SPACEBAR 打开程序最左上角的菜单 ALT+TAB 切换当前程序 ALT+ESC 切换当前程序 Alt+Enter 打开选中项目的属性对话框 ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换 ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作 ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板 PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板 SHIFT+F10或鼠标右击 打开当前活动项目的快捷菜单 SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏
一、常见用法: F1           显示当前程序或者windows的帮助内容。 F2           当你选中一个文件的话,这意味着“重命名” F3           当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT        激活当前程序的菜单栏 windows或CTRL+ESC   打开开始菜单 CTRL+ALT+DELETE     在win9x中打开关闭程序对话框 DELETE         删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE      删除被选择的选择项目,如果是文件,将被直接删除而不是 放入回收站 CTRL+N         新建一个新的文件 CTRL+O         打开“打开文件”对话框 CTRL+P         打开“打印”对话框 CTRL+S         保存当前操作的文件 CTRL+X         剪切被选择的项目到剪贴板 CTRL+INSERT 或 CTRL+C  复制被选择的项目到剪贴板 SHIFT+INSERT 或 CTRL+V 粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或 CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE   重做上一步被撤销的操作 Windows+M       最小化所有被打开的窗口。 Windows+CTRL+M    重新将恢复上一项操作前窗口的大小和位置 Windows+E       打开资源管理器 Windows+F       打开“查找:所有文件”对话框 Windows+R       打开“运行”对话框 Windows+BREAK     打开“系统属性”对话框 Windows+CTRL+F    打开“查找:计算机”对话框 SHIFT+F10或鼠标右击   打开当前活动项目的快捷菜单 SHIFT          在放入CD的时候按下不放,可以跳过自动播放CD。 在打开wo rd的时候按下不放,可以跳过自启动的宏 ALT+F4         关闭当前应用程序 ALT+SPACEBAR      打开程序最左上角的菜单 ALT+TAB         切换当前程序 ALT+ESC         切换当前程序 ALT+ENTER        将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINT SCREEN      将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINT SCREEN    将当前活动程序窗口以图象方式拷贝到剪贴板 CTRL+F4         关闭当前应用程序中的当前文本(如word中) CTRL+F6         切换到当前应用程序中的下一个文本(加shift 可以跳到前 一个窗口) 在IE中: ALT+RIGHT ARROW     显示前一页(前进) ALT+LEFT ARROW     显示后一页(后退) CTRL+TAB        在页面上的各框架中切换(加shift反向) F5           刷新 CTRL+F5         强行刷新 目的快捷 激活程序中的菜单栏 F10 执行菜单上相应的命令 ALT+菜单上带下划线的字母 关闭多文档界面程序中的当 前窗口 CTRL+ F4 关闭当前窗口或退出程序 ALT+ F4 复制 CTRL+ C 剪切 CTRL+ X 删除 DELETE 显示所选对话框项目的帮助 F1 显示当前窗口的系统菜单 ALT+空格 显示所选项目的快捷菜单 SHIFT+ F10 显示“开始”菜单 CTRL+ ESC 显示多文档界面程序的系统 菜单 ALT+连字号(-) 粘贴 CTR L+ V 切换到上次使用的窗口或者 按住 ALT然后重复按TAB, 切换到另一个窗口 ALT+ TAB 撤消 CTRL+ Z

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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