キーボード アクセラレータ
キーボード アクセラレータ (または単純にアクセラレータ) は、アプリケーションのWM_COMMANDまたはWM_SYSCOMMAND メッセージを生成するキーストロークまたはキーストロークの組み合わせです。
このセクションの内容
名前 | 説明 |
---|---|
キーボード アクセラレータについて | キーボード アクセラレータについて説明します。 |
キーボード アクセラレータの使用 | キーボード アクセラレータに関連付けられているタスクについて説明します。 |
キーボード アクセラレータ リファレンス | API リファレンスを収録しています。 |
キーボード アクセラレータ関数
名前 | 説明 |
---|---|
CopyAcceleratorTable | 指定したアクセラレータ テーブルをコピーします。 この関数は、アクセラレータ テーブル ハンドルに対応するアクセラレータ テーブル データを取得したり、アクセラレータ テーブル データのサイズを決定したりするために使用されます。 |
CreateAcceleratorTable | アクセラレータ テーブルを作成します。 |
DestroyAcceleratorTable | アクセラレータ テーブルを破棄します。 |
LoadAccelerators | 指定したアクセラレータ テーブルを読み込みます。 |
TranslateAccelerator | メニュー コマンドのアクセラレータ キーを処理します。 関数は 、WM_KEYDOWN または WM_SYSKEYDOWN メッセージを WM_COMMAND または WM_SYSCOMMAND メッセージに変換し (指定したアクセラレータ テーブルにキーのエントリがある場合)、 WM_COMMAND または WM_SYSCOMMAND メッセージを指定されたウィンドウ プロシージャに直接送信します。
TranslateAccelerator は、ウィンドウ プロシージャがメッセージを処理するまで戻りません。 |
キーボード アクセラレータ メッセージ
名前 | 説明 |
---|---|
WM_CHANGEUISTATE | UI の状態を変更する必要があることを示すために送信されます。 |
WM_INITMENU | メニューがアクティブになりようとしているときに送信されます。 これは、ユーザーがメニュー バーの項目をクリックするか、メニュー キーを押したときに発生します。 これにより、アプリケーションはメニューを表示する前に変更できます。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 |
WM_QUERYUISTATE | ウィンドウの UI 状態を取得するために送信されます。 |
WM_UPDATEUISTATE | 指定したウィンドウとそのすべての子ウィンドウの UI 状態を変更するために送信されます。 |
キーボード アクセラレータの通知
名前 | 説明 |
---|---|
WM_INITMENUPOPUP | ドロップダウン メニューまたはサブメニューがアクティブになりようとしているときに送信されます。 これにより、アプリケーションはメニュー全体を変更することなく、表示前にメニューを変更できます。 |
WM_MENUCHAR | メニューがアクティブで、ユーザーがニーモニックキーまたはアクセラレータキーに対応しないキーを押したときに送信されます。 このメッセージは、メニューを所有するウィンドウに送信されます。 |
WM_MENUSELECT | ユーザーがメニュー項目を選択したときに、メニューの所有者ウィンドウに送信されます。 |
WM_SYSCHAR | WM_SYSKEYDOWN メッセージがTranslateMessage 関数によって翻訳されるときに、キーボード フォーカスを使用してウィンドウに投稿されます。 システム文字キーの文字コードを指定します。つまり、Alt キーがダウンしている間に押される文字キーです。 |
WM_SYSCOMMAND | ウィンドウは、ユーザーが [ ウィンドウ ] メニューからコマンドを選択したとき、またはユーザーが最大化ボタン、最小化ボタン、復元ボタン、または閉じるボタンを選択したときに、このメッセージを受け取ります。 |
キーボード アクセラレータの構造
名前 | 説明 |
---|---|
アクセル | アクセラレータ テーブルで使用されるアクセラレータ キーを定義します。 |