CHotKeyCtrl クラス
Windows コモン ホット キー コントロールの機能が用意されています。
構文
class CHotKeyCtrl : public CWnd
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CHotKeyCtrl::CHotKeyCtrl | CHotKeyCtrl オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
CHotKeyCtrl::Create | ホット キー コントロールを作成し、オブジェクトに CHotKeyCtrl アタッチします。 |
CHotKeyCtrl::CreateEx | 指定した Windows 拡張スタイルを使用してホット キー コントロールを作成し、オブジェクトに CHotKeyCtrl アタッチします。 |
CHotKeyCtrl::GetHotKey | ホット キー コントロールからホット キーの仮想キー コードと修飾子フラグを取得します。 |
CHotKeyCtrl::GetHotKeyName | ホット キーに割り当てられたローカル文字セット内のキー名を取得します。 |
CHotKeyCtrl::GetKeyName | 指定した仮想キー コードに割り当てられた、ローカル文字セット内のキー名を取得します。 |
CHotKeyCtrl::SetHotKey | ホット キー コントロールのホット キーの組み合わせを設定します。 |
CHotKeyCtrl::SetRules | ホット キー コントロールの無効な組み合わせと既定の修飾子の組み合わせを定義します。 |
解説
"ホット キー コントロール" は、ユーザーがホット キーを作成できるようにするウィンドウです。 "ホット キー" は、ユーザーがすばやくアクションを実行するために押すことができるキーの組み合わせです。 (たとえば、ユーザーは、特定のウィンドウをアクティブにして Z オーダーの先頭に移動するホット キーを作成できます)。ホット キー コントロールは、ユーザーの選択肢を表示し、ユーザーが有効なキーの組み合わせを選択することを確認します。
このコントロール (したがって CHotKeyCtrl
、クラス) は、Windows 95/98 および Windows NT バージョン 3.51 以降で実行されているプログラムでのみ使用できます。
ユーザーがキーの組み合わせを選択すると、アプリケーションはコントロールから指定されたキーの組み合わせを取得し、WM_Standard Edition THOTKEY メッセージを使用してシステムでホット キーを設定できます。 その後、ユーザーがホット キーを押すたびに、システムの任意の部分から、WM_Standard Edition THOTKEY メッセージで指定されたウィンドウは、SC_HOTKEYを指定するWM_SYSCOMMAND メッセージを受信します。 このメッセージは、受信するウィンドウをアクティブにします。 ホット キーはメインWM_Standard Edition THOTKEY を呼び出したアプリケーションが終了するまで有効です。
このメカニズムは、WM_HOTKEY メッセージと Windows RegisterHotKey および UnregisterHotKey 関数に依存するホット キーのサポートとは異なります。
使用CHotKeyCtrl
の詳細については、「コントロールと CHotKeyCtrl の使用」を参照してください。
継承階層
CHotKeyCtrl
必要条件
ヘッダー: afxcmn.h
CHotKeyCtrl::CHotKeyCtrl
CHotKeyCtrl
オブジェクトを構築します。
CHotKeyCtrl();
CHotKeyCtrl::Create
ホット キー コントロールを作成し、オブジェクトに CHotKeyCtrl
アタッチします。
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
パラメーター
dwStyle
ホット キー コントロールのスタイルを指定します。 コントロール スタイルの任意の組み合わせを適用します。 詳細については、「 Windows SDK の共通コントロール スタイル 」を参照してください。
rect
ホット キー コントロールのサイズと位置を指定します。 CRect オブジェクトまたは RECT 構造体のいずれかを指定できます。
pParentWnd
ホット キー コントロールの親ウィンドウ (通常は CDialog) を 指定します。 NULL は指定できません。
nID
ホット キー コントロールの ID を指定します。
戻り値
初期化が成功した場合は 0 以外。それ以外の場合は 0。
解説
2 つの手順でオブジェクトを CHotKeyCtrl
構築します。 まず、コンストラクターを呼び出してから呼び出 Create
します。これにより、ホット キー コントロールが作成され、オブジェクトに CHotKeyCtrl
アタッチされます。
コントロールで拡張ウィンドウ スタイルを使用する場合は、代わりに Create
CreateEx を呼び出します。
CHotKeyCtrl::CreateEx
この関数を呼び出してコントロール (子ウィンドウ) を作成し、それをオブジェクトに CHotKeyCtrl
関連付けます。
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
パラメーター
dwExStyle
作成するコントロールの拡張スタイルを指定します。 拡張 Windows スタイルの一覧については、Windows SDK の CreateWindowEx の dwExStyle パラメーターを参照してください。
dwStyle
ホット キー コントロールのスタイルを指定します。 コントロール スタイルの任意の組み合わせを適用します。 詳細については、「Windows SDK の共通コントロール スタイル」を参照してください。
rect
pParentWnd のクライアント座標における、作成するウィンドウのサイズと位置を記述する RECT 構造体への参照。
pParentWnd
コントロールの親であるウィンドウへのポインター。
nID
コントロールの子ウィンドウ ID。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
Windows 拡張スタイルの前置WS_EX_で指定された拡張 Windows スタイルを適用するには、[作成] の代わりに使用CreateEx
します。
CHotKeyCtrl::GetHotKey
ホット キー コントロールから、キーボード ショートカットの仮想キー コードと修飾子フラグを取得します。
DWORD GetHotKey() const;
void GetHotKey(
WORD& wVirtualKeyCode,
WORD& wModifiers) const;
パラメーター
wVirtualKeyCode
[out]キーボード ショートカットの仮想キー コード。 標準の仮想キー コードの一覧については、Winuser.h に関するページを参照してください。
wModifiers
[out]キーボード ショートカットの修飾キーを示すフラグのビットごとの組み合わせ (OR)。
修飾子フラグは次のとおりです。
フラグ | 対応するキー |
---|---|
HOTKEYF_ALT | ALT キー |
HOTKEYF_CONTROL | Ctrl キー |
HOTKEYF_EXT | 拡張キー |
HOTKEYF_SHIFT | Shift キー |
戻り値
オーバーロードされた最初のメソッドで、仮想キー コードと修飾子フラグを含む DWORD。 下位ワードの下位バイトには仮想キー コードが含まれており、下位ワードの上位バイトには修飾子フラグが含まれており、上位ワードは 0 です。
解説
仮想キー コードと修飾キーの組み合わせによって、キーボード ショートカットが定義されます。
CHotKeyCtrl::GetHotKeyName
このメンバー関数を呼び出して、ホット キーのローカライズされた名前を取得します。
CString GetHotKeyName() const;
戻り値
現在選択されているホット キーのローカライズされた名前。 ホット キーが選択されていない場合は、 GetHotKeyName
空の文字列を返します。
解説
このメンバー関数が返す名前は、キーボード ドライバーから取得されます。 ローカライズされていないキーボード ドライバーは、ローカライズされたバージョンの Windows にインストールできます。その逆も同様です。
CHotKeyCtrl::GetKeyName
このメンバー関数を呼び出して、指定された仮想キー コードに割り当てられたキーのローカライズされた名前を取得します。
static CString GetKeyName(
UINT vk,
BOOL fExtended);
パラメーター
Vk
仮想キー コード。
fExtended
仮想キー コードが拡張キーの場合は TRUE。それ以外の場合は FAL Standard Edition。
戻り値
vk パラメーターで指定されたキーのローカライズされた名前。 キーにマップされた名前がない場合は、 GetKeyName
空の文字列を返します。
解説
この関数が返すキー名はキーボード ドライバーから取得されるため、ローカライズされていないキーボード ドライバーをローカライズされたバージョンの Windows にインストールできます。その逆も同様です。
例
CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.
CHotKeyCtrl::SetHotKey
ホット キー コントロールのキーボード ショートカットを設定します。
void SetHotKey(
WORD wVirtualKeyCode,
WORD wModifiers);
パラメーター
wVirtualKeyCode
[in]キーボード ショートカットの仮想キー コード。 標準の仮想キー コードの一覧については、Winuser.h に関するページを参照してください。
wModifiers
[in]キーボード ショートカットの修飾キーを示すフラグのビットごとの組み合わせ (OR)。
修飾子フラグは次のとおりです。
フラグ | 対応するキー |
---|---|
HOTKEYF_ALT | ALT キー |
HOTKEYF_CONTROL | Ctrl キー |
HOTKEYF_EXT | 拡張キー |
HOTKEYF_SHIFT | Shift キー |
解説
仮想キー コードと修飾キーの組み合わせによって、キーボード ショートカットが定義されます。
CHotKeyCtrl::SetRules
この関数を呼び出して、ホット キー コントロールの無効な組み合わせと既定の修飾子の組み合わせを定義します。
void SetRules(
WORD wInvalidComb,
WORD wModifiers);
パラメーター
wInvalidComb
無効なキーの組み合わせを指定するフラグの配列。 次の値を組み合わせて使用できます。
HKCO MB (メガバイト)_A Alt
HKCO MB (メガバイト)_C Ctrl
HKCO MB (メガバイト)_CA Ctrl + Alt
HKCO MB (メガバイト)_NONE 変更されていないキー
HKCO MB (メガバイト)_S Shift
HKCO MB (メガバイト)_SA Shift + Alt
HKCO MB (メガバイト)_SC Shift + Ctrl
HKCO MB (メガバイト)_SCA Shift + Ctrl + Alt
wModifiers
ユーザーが無効な組み合わせを入力したときに使用するキーの組み合わせを指定するフラグの配列。 修飾子フラグの詳細については、「GetHotKey」を参照してください。
解説
ユーザーが wInvalidComb で指定されたフラグで定義されている無効なキーの組み合わせを入力すると、システムは OR 演算子を使用して、ユーザーが入力したキーと wModifiers で指定されたフラグを組み合わせます。 結果のキーの組み合わせは文字列に変換され、ホット キー コントロールに表示されます。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示