2012年4月8日 星期日

知識更新 建立選單和快捷鍵

MFC要為我們的選單加入快捷鍵其實是很簡單的,Visual Studio從古代的Visual C++就提供使用者在Resource檔中編寫Accelerator Table讓我們把相關連的選單和快捷鍵連結在一起,在VS 2010的使用者界面長的像下圖所示。
我們可以直接在rc檔中編輯選單所使用的快捷鍵,或是在properties中選擇。

這個功能實際上測試起來應該會發現"新"建立的快捷鍵是沒有反應。如果你的執行程式曾經成功執行過一次,MFC會自動把accelerator table寫到註冊檔中,之後即使我們修改了快捷鍵也都不會自動更新註冊的結果。如果快捷表有修改過,那就把註冊檔中的快捷表刪除吧。
微軟說,這可是新功能不是Bug喔(註1)

如果不想更改註冊檔,可從選單的[View] / [Toolbars and Docking Windows] / [Customize....]使用"新"界面進行設定。


註1. Visual Studio 2010 Unable to Commit Accelerator Resource Changes