由CWnd繼承來的用戶窗口添加加速鍵:(非框架窗口缺少CFrameWnd中對加速鍵的支持)1.給派生類添加一個數據成員m_hAccelTable(類型HACCEL).2.向程序添加加速鍵資源,添加資源我已經在另一篇文章中講過,還有加一個具有響應函數的ID對應加速鍵.然后在應用程序生存期初期,調用API函數::LoadAccelerators加載加速鍵表.將::LoadAccelerators返回的句柄復制到m_hAccelTable. //In CMainWindow's constructor m_hAccelTable=LoadAccelerators(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
3.在窗口類中重載PreTranslateMessage并調用將句柄存儲在m_hAccelTable中的::TranslateAccelerator.將::TranslateAccelerator返回的的值作為PreTranslateMessage的返回值.
//virtual BOOL PreTranslateMessage(MSG *pMsg);函數原型