c – 在无模式对话框窗口中通过加速键

c – 在无模式对话框窗口中通过加速键,第1张

概述我们有一个非常大的内部MFC应用程序.它有一个带有菜单栏的主窗口,以及数百个独特的子窗口(没有菜单栏),它们显示在主窗口的顶部(并非全部同时显示).这些子窗口实现为CDialogs,但无模式运行(通过CreateWindow,而不是DoModal).它们的父HWND设置为NULL. 我们最近得到了一个功能请求 – 允许主窗口中的特定菜单栏加速工作,即使其中一个子窗口是活动窗口.从用户的角度来看, 我们有一个非常大的内部MFC应用程序.它有一个带有菜单栏的主窗口,以及数百个独特的子窗口(没有菜单栏),它们显示在主窗口的顶部(并非全部同时显示).这些子窗口实现为CDialogs,但无模式运行(通过CreateWindow,而不是DoModal).它们的父HWND设置为NulL.

我们最近得到了一个功能请求 – 允许主窗口中的特定菜单栏加速工作,即使其中一个子窗口是活动窗口.从用户的角度来看,这是有道理的.

这可以通过应用程序范围的键盘钩子很容易地伪造,观察那个精确的击键,但我想知道是否有更清洁的方式?

解决方法 您也可以在主窗口中使用RegisterHotKey().这将产生副作用,即使在不同的应用程序中按下,新热键也会触发.你可以通过比较GetCurrentProcessID()和GetwindowThreadProcessID(GetForegrounDWindow())来解决这个问题. 总结

以上是内存溢出为你收集整理的c – 在无模式对话框窗口中通过加速键全部内容,希望文章能够帮你解决c – 在无模式对话框窗口中通过加速键所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1227643.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存