【EasyUse】關於鍵盤加速鍵的幾點思考

因爲EasyUse程序要用到鍵盤加速,中間遇到了一些難題。彙總以便以後使用。

1、該在哪個地方截取消息(?)

關於這問題,認識還不夠深刻。有一點可以確定,你在程序運行的CXXApp和CXXDlg的PreTranslateMessage()中截取消息函數肯定是不一樣的。

一個是程序運行全過程都可以出發鍵盤操作的。

關於在對話框中出發消息,是在PreTranslateMessage()還是在OnKeyDown()中觸發,還暫時沒搞清楚。留以後搞清楚了去寫。我是在PreTranslateMessage()中出發也沒有成功

2、用什麼判斷觸發了鍵盤操作。

1.可以檢查MSG *pMsg變量的message變量判斷消息的類型。當爲WM_KEYDOWN時表示,有鍵被按下pMsg->wParam說明是什麼鍵被按下。

具體的鍵的表示如下:

符號形式             十六進制形式        說明
VK_LBUTTON           01             鼠標左鍵
VK_RBUTTON            02             鼠標右鍵
VK_CANCEL             03          Control-break 過程
VK_MBUTTON          04                  鼠標中鍵
VK_BACK                 08           BACKSPACE 鍵
VK_TAB                    09              TAB 鍵
VK_CLEAR               0C                CLEAR 鍵
VK_RETURN              0D            ENTER 鍵
VK_SHIFT                 10                 SHIFT 鍵

發佈了49 篇原創文章 · 獲贊 16 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章