在onkeydown()
处理程序中,我得到219
作为'['}的关键代码但是,'['的实际字符值为91
。有没有办法映射这两个?
答案 0 :(得分:3)
如果您使用的是Windows,则应查看ToUnicodeEx功能。
答案 1 :(得分:1)
步骤1:打开VC ++ 6.0
第2步:文件 - >新 - >项目 - > Win32应用程序
提供项目名称
第3步:文件 - >新 - >文件 - > 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;
第5步:项目 - &gt;设置 - &gt;选择MFC作为共享DLL
步骤6:Bulid - &gt;编译
第7步:构建 - &gt;构建
第8步:构建 - &gt;执行
答案 2 :(得分:0)
MapVirtualKey()也很有用。