次の方法で共有


キーボード アクセラレータ

キーボード アクセラレータ (または単純なアクセラレータ) は、アプリケーションの 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 ウィンドウは、ユーザーが ウィンドウ メニューからコマンドを選択したとき、またはユーザーが最大化ボタン、最小化ボタン、復元ボタン、または閉じるボタンを選択したときに、このメッセージを受け取ります。

キーボード アクセラレータの構造

名前 形容
ACCELする アクセラレータ テーブルで使用されるアクセラレータ キーを定義します。