TranslateAcceleratorは、発生したアクセラレータキーに対する処理を行うWindowsAPI・・・。
これを使って、キーボード入力で発生するWM_KEYDOWNなどをWM_COMMANDなどに変換して、メニューの選択などが実行される・・・。
LoadAcceleratorsで、アクセラレータテーブルをロードし、hAccelにハンドルを格納・・・。
TranslateAcceleratorでWM_COMMANDへの変換をするわけだが、ここで重要なのは変換できた場合(戻り値がTRUE)は、そのあとの通常のメッセージ処理をしないということ・・・。
変換できない、つまりアクセラレータキーでない場合(戻り値がFALSE)は、通常のメッセージ処理をするということ・・・。
Ctrl + Bで、Item1-1を選択したときの処理が実行されるかを試す・・・。
Item1-1が選択された場合、DIALOGが表示されるはず・・・。
この状態から、Ctrl + Bを押す・・・。
確かに表示された・・・。
アクセラレータキーが処理された・・・。
Sample/TranslateAccelerator.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/TranslateAccelerator.rc at master · bg1bgst333/Sample · GitHub