SimpleWindow
载入中...
搜索中...
未找到
HotKeyControl.h
1#pragma once
2
3#include "Control.h"
4#include "EnumBit.h"
5#include <CommCtrl.h>
6
7namespace sw
8{
12 struct HotKey {
13 VirtualKey key; // 按键
14 HotKeyModifier modifier; // 辅助按键
15 };
16
20 enum class HotKeyCombination {
21 Alt = HKCOMB_A, // ALT
22 Ctrl = HKCOMB_C, // CTRL
23 CtrlAlt = HKCOMB_CA, // CTRL+ALT
24 None = HKCOMB_NONE, // Unmodified keys
25 Shift = HKCOMB_S, // SHIFT
26 ShiftAlt = HKCOMB_SA, // SHIFT+ALT
27 ShiftCtrl = HKCOMB_SC, // SHIFT+CTRL
28 ShiftCtrlAlt = HKCOMB_SCA, // SHIFT+CTRL+ALT
29 };
30
34 _SW_ENUM_ENABLE_BIT_OPERATIONS(HotKeyCombination);
35
39 class HotKeyControl : public Control
40 {
41 private:
45 HotKey _value;
46
47 public:
52
53 public:
58
64 void SetRules(HotKeyCombination invalidComb, HotKeyModifier defaultModifier);
65
66 protected:
71 virtual void OnCommand(int code) override;
72
76 virtual void OnValueChanged(HotKey value);
77
78 private:
82 void _UpdateValue();
83 };
84}
控件
Definition Control.h:12
热键框
Definition HotKeyControl.h:40
virtual void OnValueChanged(HotKey value)
控件表示的热键值发生改变时调用该函数
void SetRules(HotKeyCombination invalidComb, HotKeyModifier defaultModifier)
设置无效组合与默认值
const Property< HotKey > Value
当前控件所表示的热键值
Definition HotKeyControl.h:51
virtual void OnCommand(int code) override
当父窗口接收到控件的WM_COMMAND时调用该函数
HotKeyControl()
初始化热键框
属性
Definition Property.h:1743
表示一个热键
Definition HotKeyControl.h:12