VS2008的SP1在MFC的UI上做了不少的改進,據說是加入了BCG的內容,現在直接支持Ribbon風格、顏色切換等功能,炫了不少。
在做文檔視圖界面時,發現自定義的快捷方式不生效,調試了一下,找到了原因。 框架在創建時,會從資源中加載快捷鍵映射表,但由於CWinAppEx中使用了KeyboardManager,它在初始化時,會從註冊表中讀取其中的快捷鍵映射表,替換資源中的快捷鍵映射表。
這樣做的本意是爲了實現自定義快捷鍵,但對於開發卻是添了不少麻煩。
修改快捷鍵資源之後,刪除註冊表中對應的註冊鍵,再運行就正常了。
註冊表項:HKEY_CURRENT_USER/Software/[AppName]/Workspace/Keyboard-0
註冊鍵:Acelerators