/// <summary> /// HotKeyを登録します。 /// </summary> /// <param name="shortcutKey">ショートカットキー</param> /// <param name="action">アクション</param> /// <returns>成功の場合はtrue、それ以外はfalseを返します。</returns> public bool Register(ShortcutKey shortcutKey, Action action) { var modifier = (int)shortcutKey.ModifierKeys; var trigger = (int)shortcutKey.Key.ToVirtualKey(); // HotKey登録時に指定するIDを決定する // 0x0000~0xbfff はIDとして使用可能 if (this.nextHotkeyId < HotkeyIdMax && User32.RegisterHotKey(this.windowHandle, this.nextHotkeyId, modifier, trigger)) { this.hotkeyActions.Add(this.nextHotkeyId, action); this.nextHotkeyId++; return(true); } else { return(false); } }
/// <summary> /// コンストラクタ。 /// </summary> /// <param name="shortcutKey">ショートカットキー</param> public ShortcutKeyPressedEventArgs(ShortcutKey shortcutKey) { this.ShortcutKey = shortcutKey; }
/// <summary> /// コンストラクタ。 /// </summary> /// <param name="name">ショートカットキーの名称</param> /// <param name="shortcutKey">ショートカットキー</param> /// <param name="action">ショートカットキーに押下時に呼ぶアクション</param> public ShortcutKeyRegisterInfo(string name, ShortcutKey shortcutKey, Action action) { this.Name = name; this.ShortcutKey = shortcutKey; this.Action = action; }
/// <summary> /// ショートカットキーの比較。 /// </summary> /// <param name="other">別のショートカットキー</param> /// <returns>等価の場合はtrue、それ以外はfalse</returns> public bool Equals(ShortcutKey other) { return(this == other); }