LoadAccelerators

LoadAcceleratorsは、アクセラレータテーブルをロードするWindowsAPI・・・。

LoadAccelerators 関数

これまでも、例えばメニュー項目名の後に"(&A)"とつけると、Alt + Aでその項目を選択できた・・・。
これをショートカットキーと呼ぶ・・・。
ただ、ポップアップメニュー項目やサブメニュー項目の"(&B)"だと、Alt + (&A)の後に(&B)と2段階にわけてキーを押す必要がある・・・。
アクセラレータキーは、1回でそのポップアップメニュー項目を実行できるキーの組み合わせ・・・。

アクセラレータキーの設定は、アクセラレータテーブルとしてリソースファイルに定義できる・・・。
メニューとセットで使うものなので、同じリソースIDにする・・・。

"^B"は、Ctrl + Bを指している・・・。
Ctrl + BでItem1-1が選択、実行される・・・。
そのアクセラレータキーの表示を、

一応、メニュー項目にも書いている・・・。

とりあえず今回は、

hAccelを用意し、

LoadAcceleratorsで、"IDR_MAINMENU"のアクセラレータテーブルをロードして、返ってきたハンドルを格納して、それをMessageBoxで表示している・・・。

f:id:BG1:20150601131707p:plain

hAccelの値が表示された・・・。

Sample/LoadAccelerators.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/LoadAccelerators.rc at master · bg1bgst333/Sample · GitHub