VC++ 跳过MFC框架 处理键盘设备消息

来源:互联网 发布:手机设计图纸软件 编辑:程序博客网 时间:2024/05/21 23:34

    通用键盘设备(包括读卡器等被模拟为键盘设备),在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。

    例程在二楼。

0 0
原创粉丝点击