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 の使用」を参照してください

継承階層

CObject

CCmdTarget

CWnd

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 アタッチされます。

コントロールで拡張ウィンドウ スタイルを使用する場合は、代わりに CreateCreateEx を呼び出します。

CHotKeyCtrl::CreateEx

この関数を呼び出してコントロール (子ウィンドウ) を作成し、それをオブジェクトに CHotKeyCtrl 関連付けます。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwExStyle
作成するコントロールの拡張スタイルを指定します。 拡張 Windows スタイルの一覧については、Windows SDK の CreateWindowExdwExStyle パラメーターを参照してください。

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指定されたフラグを組み合わせます。 結果のキーの組み合わせは文字列に変換され、ホット キー コントロールに表示されます。

関連項目

CWnd クラス
階層図