哪个更适合MFC应用程序热键或加速器
Which is better for MFC application hot key or Accelerator?
我们有MFC应用程序,它有大约10个图像按钮,我们希望为其提供快捷键。快捷方式将是可自定义的。我已经使用ON_WM_HOTKEY()
消息实现了带有热键的快捷方式(现在没有自定义)。
在搜索了古尔格之后,我有点困惑。例如,这个问题表明热键对于操作系统是全局的,而加速器对于应用程序是全局的。
我应该在我的应用程序中使用哪一个。我的快捷键类似于 Ctrl + Shift + A,并且可以自定义。
其次,将它们放在哪里。通常将快捷方式存储在Windows注册表中吗?
通过RegisterHotKey
添加的热键(或 MFC 中的等效键)绝对是系统全局的,除非您特别希望用户能够从任何地方触发它们,否则不应使用它们来触发程序中的函数。
(例如,您的应用程序可能是一个屏幕截图应用程序,因此从外部触发函数是有意义的)
通常,您应该使用加速器为工具栏按钮等添加键盘绑定。
存储它们的位置取决于您 - 我会说您应该将它们存储在存储应用程序其余配置数据的任何位置。
加速键和热键之间的区别在于提供的链接状态;每当在应用程序具有焦点时按下注册的组合键时,都会注册加速键(正常行为)。但是,如果要注册一个组合键,即使用户在应用程序在后台使用另一个应用程序也能正常工作;去热键。通常使用它的应用程序是剪贴板管理器、屏幕采集卡和启动器。
我建议在注册表中存储配置,但是您也可以使用存储在用户配置文件目录中的配置文件。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 哪个更适合MFC应用程序热键或加速器