Mfc 如何将虚拟密钥代码转换为字符代码?

Mfc 如何将虚拟密钥代码转换为字符代码?,mfc,visual-c++,Mfc,Visual C++,在onkeydown()处理程序中,我得到了219作为“[”的键码;然而,“[”的实际字符值是91。有没有办法映射这两个字符?如果您使用的是Windows,您应该查看该函数。映射virtualkey()也很有用。步骤1:打开VC++6.0 步骤2:文件-->新建-->项目-->Win32应用程序 给出您的项目名称 第3步:文件--> NeX->文件--> C++源文件 给出您的文件名 步骤4:在您的CPP文件中 /* Mfc program to handle virtual key codes

onkeydown()
处理程序中,我得到了
219
作为“[”的键码;然而,“[”的实际字符值是
91
。有没有办法映射这两个字符?

如果您使用的是Windows,您应该查看该函数。

映射virtualkey()也很有用。

步骤1:打开VC++6.0
步骤2:文件-->新建-->项目-->Win32应用程序
给出您的项目名称
第3步:文件--> NeX->文件--> C++源文件
给出您的文件名
步骤4:在您的CPP文件中

/* Mfc program to handle virtual key codes. */
#include<afxwin.h>
class myframe : public CFrameWnd
{
public: 
    myframe()
    {
        Create(0,"Menu Program");
    }
    void OnKeyDown(UINT n)
    {
        switch(n)
        {
        case VK_LEFT:
            MessageBox("Left Arrow","Hellow");
            break;
        case VK_RIGHT:
            MessageBox("Right Arrow","Hellow");
            break;
        case VK_UP:
            MessageBox("Up Arrow","Hellow");
            break;
        case VK_DOWN:
            MessageBox("Down Arrow","Hellow");
            break;
        case VK_NUMPAD0:
            MessageBox("Number ZERO","Hellow");
            break;
        case VK_NUMPAD9:
            MessageBox("Number NINE","Hellow");
            break;
        case VK_SPACE:
            MessageBox("Space Bar","Hellow");
            break;
        case VK_BACK:
            MessageBox("BACK KEY","Hellow");
            break;
        case VK_SHIFT:
            MessageBox("SHIFT KEY","Hellow");
            break;
        }
    }       
    DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(myframe,CFrameWnd)
ON_WM_KEYDOWN()
END_MESSAGE_MAP()
class myapp : public CWinApp
{
public:
    int InitInstance()
    {
        m_pMainWnd=new myframe();
        m_pMainWnd->ShowWindow(3);      
        return 1;
    }
};
myapp app;
处理虚拟钥匙代码的Mfc程序*/ #包括 类myframe:public CFrameWnd { 公众: myframe() { 创建(0,“菜单程序”); } void OnKeyDown(UINT n) { 开关(n) { 案例VK_左: 消息框(“左箭头”、“Hellow”); 打破 案例VK_右: 消息框(“右箭头”、“Hellow”); 打破 案例VK_UP: 消息框(“向上箭头”、“Hellow”); 打破 案例VK_下降: MessageBox(“向下箭头”、“Hellow”); 打破 案例VK_NUMPAD0: 消息框(“零号”、“Hellow”); 打破 案例VK_NUMPAD9: 信息箱(“九号”,“你好”); 打破 案例VK_空间: MessageBox(“空格键”、“Hellow”); 打破 案例VK_BACK: MessageBox(“后退键”、“Hellow”); 打破 案例VK_班次: 消息框(“SHIFT键”、“Hellow”); 打破 } } 声明消息映射() }; 开始消息映射(myframe,CFrameWnd) 关于\u WM\u KEYDOWN() 结束消息映射() myapp类:公共CWinApp { 公众: int InitInstance() { m_pMainWnd=新的myframe(); m_pMainWnd->显示窗口(3); 返回1; } }; myapp; 步骤5:项目-->设置-->选择MFC作为共享DLL
步骤6:Bulid-->编译
步骤7:生成-->生成
步骤8:生成-->执行