首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VS2013 MFC 修改資源快捷鍵不生效:正確設置流程

     編輯:程式設計綜合問答

現象

在資源視圖修改菜單項快捷鍵(如 Ctrl+O → F5),編譯運行後原快捷鍵仍生效,新快捷鍵無反應。

原因

僅修改資源腳本 (.rc) 不夠,必須通過 鍵盤映射表 分配命令 ID,並確保命令路由正確。

正確步驟

  1. 菜單「工具」 → 「選項」 → 「環境」 → 「鍵盤」。
  2. 「顯示命令含有」輸入命令名(如 File.Open 或自定義 ID_FILE_OPEN)。
  3. 「按快捷鍵」輸入新鍵位(如 F5)。
  4. 點擊 「分配」 按鈕(關鍵!)。
  5. 點擊「確定」保存設置。
  6. 清理解決方案 → 重新生成 → 運行測試。

資源編輯器同步

鍵盤映射修改後,資源視圖中的快捷鍵顯示可能不同步,但運行時以鍵盤映射為準。若需資源文件同步,可在屬性頁手動修改 VK_F5 對應命令 ID。

常見坑

  • 命令 ID 衝突:新快捷鍵被其他命令佔用(輸入框下方會提示「當前分配給...」)。
  • 未點擊「分配」:只是輸入了鍵位未確認。
  • 預編譯頭/資源編譯問題:Clean 後 Rebuild。

代碼層面驗證

// 主框架類中覆寫
BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) {
    if (nID == ID_MY_CUSTOM_CMD && nCode == CN_COMMAND) {
        // 斷點驗證命令是否到達
    }
    return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved