VC++ 跳過MFC框架 處理鍵盤設備消息

    通用鍵盤設備(包括讀卡器等被模擬爲鍵盤設備),在windows系統下,理解爲通過虛擬鍵盤消息系統(MSG* pMsg)來確認是否鍵盤相關消息(檢查鍵值,如(pMsg->message == WM_KEYDOWN),並進一步處理裏面的字符(pMsg->wParam == VK_RETURN||VK_ESCAPE)。

    如果傳遞的字符不方便或不需要在程序中顯示出來(比如設置控件(如IDC_Edit1)的屬性爲只讀),那麼需要自己在MFC框架前捕獲消息。

    可以重載虛函數BOOL xxx::PreTranslateMessage(MSG* pMsg),後面來一個字符一個字符捕獲自己來決定用途。

    如果,要對字符串格式做寬字符轉換,strTemp.Format(_T("%x"),pMsg->wParam);

    可以建立一個Vector,把捕獲的字符放進去,用的時候提取出來。

    如:

        vector<int>::iterator theIterator;
        vecTemp.push_back(pMsg->wParam);
        vecTemp.pop_back();
        vecTemp.clear();

    以及對於標準STL的遍歷,可以用iterator -

        for( theIterator = vecTemp.begin(); theIterator != vecTemp.end(); theIterator++ )

    如果某些部分處理完了不要MFC再處理消息,則直接return true。

    例程在二樓。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章