- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MFC功能包似乎神奇地将资源键盘加速器快捷方式打印到菜单项的工具提示。
如何找到给定命令ID的组合键(如果我只有HACCEL
句柄?)。
最佳答案
您可以使用 CopyAcceleratorTable()
function检索给定HACCEL
句柄的加速器列表。
首先,使用nullptr
和0
作为第二和第三个参数调用该函数以获取列表的大小(即加速器的数量),然后分配适当大小的ACCEL
结构的缓冲区。
然后,您可以使用指向该缓冲区的指针和先前返回的计数再次调用CopyAcceleratorTable
。
现在,您可以遍历该缓冲区,使用每个结构的三个字段来确定加速键是什么,它具有的标志以及它代表的命令。
HACCEL hAcc; // Assuming this is a valid handle ...
int nAcc = CopyAcceleratorTable(hAcc, nullptr, 0); // Get number of accelerators
ACCEL *pAccel = new ACCEL[nAcc]; // Allocate the required buffer
CopyAcceleratorTable(hAcc, pAccel, nAcc); // Now copy to that buffer
for (int a = 0; a < nAcc; ++a) {
DWORD cmd = pAccel[a].cmd; // The command ID
WORD key = pAccel[a].key; // The key code - such as 0x41 for the "A" key
WORD flg = pAccel[a].fVirt; // The 'flags' (things like FCONTROL, FALT, etc)
//...
// Format and display the data, as required
//...
}
delete[] pAccel; // Don't forget to free the data when you're done!
您可以在
this page上看到
ACCEL
结构的三个数据字段的值和格式的描述。
关于c++ - 如何获得用于命令ID的键盘加速器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64772377/
大模型技术的发展和应用,预示着更加智能化、个性化未来的到来。如果将大模型比喻为正在疾驰的科技列车,语料便是珍贵的“燃料”。本次世界人工智能大会期间,合合信息为大模型打造的“加速器”解决方案备受关
如何设置快捷方式,例如。 Ctrl+Q,到 JButton ? JMenuItem有 setAccelerator()设置一个的方法,但是 JButton没有。 最佳答案 好吧,您可以使用 set o
如何从 TMainMenuActionBar 中删除加速器? 似乎找不到要更改的 AutoHotKey = maManual 属性,也找不到任何其他会产生正确效果的属性。 最佳答案 (假设问题是关于
我正在 Appcelerator 中开发 iOS 应用程序。如何检测用户何时点击窗口标题(导航栏中的标题)? 感谢您的所有意见! 最佳答案 我会在导航栏标题上放置一个透明 View ...如果您不使用
我读到了助记符和加速器的区别,但现在我想知道这些是否加速器仅用于菜单项或其他 JComponents。 最佳答案 您可以为任何 JComponent 使用键绑定(bind) :) 看看这个 guide
我在 Windows 10 中使用 Delphi XE7。我在主窗体和模态辅助窗体上都有一个 TMainMenuBar。问题是,如果辅助窗体还包含 TMemo,辅助窗体上的加速键不会激活菜单。例如,如
(是的,我知道 SO 上有 a similar question,但它已经 8 个月大了——从那时起 IE8 RTM 就出来了——而且不是很有启发性) 是否可以在我的网站上禁用 IE8 的“加速器”?
我需要创建一个可在 BlackBerry (10%) 和 iO (90%) 上运行的应用程序。 Appcelerator Titanium 看起来确实可以,但 BlackBerry 开发仅在 Wind
我正在使用 PowerBuilder(我猜它与这个问题无关,尽管我可能错了)。 我正在尝试将按钮上的文本设置为“Save && &New”,它应该读作“Save & New”,并带有下划线“N”。 可
$ appc ti build -T dist-adhoc Appcelerator Command-Line Interface, version 7.1.2 Copyright (c) 2014-
好吧,我对 Electron 和开发网络应用程序非常陌生。我不擅长阅读文档。如何注册全局短 切割为 Electron 。 最佳答案 即使应用程序没有键盘焦点,您也可以使用 globalshortcut
我目前正在使用 Appcelerator 开发一款 Android 应用程序,该应用程序仅提供西类牙语版本。 我的问题是,如果用户的智能手机不是西类牙语,则 strings.xml 中的字符串将不会显
Titanium SDK 版本:1.7.0iPhone SDK 版本:4.2 我正在开发一个 iOS 应用程序,我监控每个窗口的内存使用情况,并且它在每个屏幕上都在不断减少。 一般来说什么是消耗内存?
我正在使用glade和C语言来开发GUI。我能够将键盘上的所有数字键和字母键映射到林间按钮作为加速器。但是,我无法映射以下按钮:ESC、向上、向下、向左、向右箭头。 在林间空地,当我在加速器字段中输入
我的应用程序的主 JFrame 包含一个 JTextPane。虽然它具有焦点,但它会使用所有键盘快捷键(“加速器”),而不是将它们传递给 JFrame 的 JMenu。这意味着虽然它有焦点,例如“新建
我想给组件添加一个加速器,比如对 JTextComponent 执行撤消/重做(Ctrl-Z、Ctrl-Y),但想在JMenu,我应该将 KeyStroke + AbstractAction 添加到:
我知道从 4.2.1 开始就有适用于 iOS 的 API安卓呢?谁知道我们什么时候可以在 Android 浏览器中访问陀螺仪数据? 最佳答案 据我所知,最常见的版本(Android 2.2、2.3)不
我目前正在使用 WCF 服务,该服务使用基于消息的安全性,旨在通过 HTTP 而不是 HTTPS 进行访问。 这已经过测试,效果很好。在部署到使用 SSL 加速器的机器时,出现以下错误。 “接收对 h
我有一个 mfc 应用程序,我在其中定义了键盘加速器当我使用字母数字字符时它工作正常,但我想定义一个加速器,在按下 +/- 键时放大/缩小所以我将其定义如下并且它工作正常 ID1 ACCELERAT
最近我做了一些研究,使用加速度计 + 陀螺仪来使用这些传感器在没有 GPS 帮助的情况下跟踪智能手机(见这篇文章) Indoor Positioning System based on Gyrosco
我是一名优秀的程序员,十分优秀!