Duilib热键
转载:https://www.zhaokeli.com/article/8288.html
在initwindow中注册热键
- //生成热键标识,需要保存起来退出时销毁使用
- int m_HotKeyId = ::GlobalAddAtom("MyHotKey");
- //注册热键
- BOOL re=::RegisterHotKey(m_hWnd,m_HotKeyId,MOD_ALT,VK_F8);
- DWORD er;
- if (re == ) {
- er=::GetLastError();
- }
如果有多个控制符组合就是 | 分隔写48-57对应主键盘上的0-9。65-90对应A-Z 更多虚拟码请参考
https://baike.baidu.com/item/%E8%99%9A%E6%8B%9F%E9%94%AE%E7%A0%81/9884611?fr=aladdin
然后在handlemessage中拦截热键消息 WM_HOTKEY 处理自己的功能
- //取热键标识,多个热键时区分使用
- int HotKeyId = wParam;
- //控制键
- UINT fuModifiers = ( UINT ) LOWORD(lParam);
- //虚拟键码
- UINT uVirtKey = ( UINT ) HIWORD(lParam);
- if (HotKeyId == m_HotKeyId) {
- //...处理一些事情
- }
最后别忘啦退出程序时销毁注册的热键
- UnregisterHotKey(m_hWnd, m_HotKeyId);
Duilib热键的更多相关文章
- 如何给开源的DUILib支持Accessibility
最近的工作是给开源的DUILib支持Accessibility, 一些经验记录并分享下. 微软的Accessibility其实Windows平台上一个挺重要的东西, 尽管在国内不受重视,但是如果你的软 ...
- 如何给开源的DUILib支持Accessibility(论述了DUILib的六个缺点,很精彩)
最近的工作是给开源的DUILib支持Accessibility, 一些经验记录并分享下. 微软的Accessibility其实Windows平台上一个挺重要的东西, 尽管在国内不受重视,但是如果你 ...
- C# 注册 Windows 热键
闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...
- DUILIB入门使用说明整理
整理自博客上对DUILIB的操作使用的博客文章 一.DuiLib操作入门 1.DuiLib入门简明教程 -- 前言 2.DuiLib入门简明教程 -- VS环境配置 3.DuiLib入门简明教程 -- ...
- Duilib源码分析(六)整体流程
在<Duilib源码分析(一)整体框架>.<Duilib源码分析(二)控件构造器—CDialogBuilder>以及<Duilib源码分析(三)XML解析器—CMarku ...
- Duilib源码分析(五)UI布局—Layout与各子控件
接下来,继续分析duilib之UI布局Layout,目前提供的布局有:VerticalLayout.HorizontalLayout.TileLayout.TabLayout.ChildLayout分 ...
- Duilib源码分析(四)绘制管理器—CPaintManagerUI
接下来,分析uilib.h中的UIManager.h,在正式分析CPaintManagerUI前先了解前面的一些宏.结构: 枚举类型EVENTTYPE_UI:定义了UIManager.h中事件通告类型 ...
- Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备三)
接下来,我们将继续分析UIlib.h文件中其他的文件, UIContainer.h, UIRender.h, WinImplBase.h, UIManager.h,以及其他布局.控件等: 1. UIR ...
- Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备一)
上节中提到在遍历创建控件树后,执行了以下操作: 1. CDialogBuilder构建各控件对象并形成控件树,并返回第一个控件对象pRoot: 2. m_pm.AttachDialo ...
随机推荐
- 03hive_DDL数据定义
一. DDL数据定义 创建数据库 1)create database db_hive; 2)避免要创建的数据库已经存在错误,增加 if not exists 判断. create database i ...
- Navicat Premium 12安装、激活
Navicat Premium 12安装 Navicat Premium 12激活
- Tarjan-有向图
(我到底是咕了多少知识点啊) 在有向图中tarjan主要用来求强连通分量并缩点 一.定义 强连通:如果两个顶点可以相互通达,则称两个顶点 强连通 强连通分量:如果有向图G的每两个顶点都 强连通,称G是 ...
- 实现在vue中element-ui的el-dialog弹框拖拽
参考:实现在vue中element-ui的el-dialog弹框拖拽 1.在 utils 中新建 directives.js 文件 import Vue from 'vue' // v-dialogD ...
- shell中遍历数组的几种方式
#!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...
- 17,a:img的alt和title有何异同? b:strong与en的异同?
alt(alt text):为不能显示的图像,窗体或者applets的用户代理,alt属性用来指定替换文字.替换文字的语言用lang属性来指定. eg:下例中将图像作为链接来使用 <a href ...
- Atcoder Beginner Contest145E(01背包记录路径)
#define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;int a[3007],b[3007];int ...
- Numpy Pandas
数据分析 : 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律. 数据分析三剑客 - Numpy Pandas Matplotlib # Numpy 基于一维或多维的数 ...
- python--小游戏(循环+随机)
1 import time 2 import random 3 4 player_victory = 0 5 enemy_victory = 0 6 a1 = True 7 while a1: 8 f ...
- C语言:判断字符串是否为回文,-函数fun将单向链表结点数据域为偶数的值累加起来。-用函数指针指向要调用的函数,并进行调用。
//函数fun功能:用函数指针指向要调用的函数,并进行调用. #include <stdio.h> double f1(double x) { return x*x; } double f ...