在onkeydown()
處理我得到219
的鍵代碼「[」;然而,'['的實際字符值是91
。有什麼辦法來映射這兩個?如何將虛擬鍵碼轉換爲字符碼?
3
A
回答
3
如果您使用的是Windows,你應該看看ToUnicodeEx功能。
0
MapVirtualKey()也很有用。
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:項目 - >設置 - >選擇MFC作爲共享DLL
步驟6:Bulid - - >編譯
步驟7:體形 - >構建
步驟8:構建 - >執行
相關問題
- 1. 將字符轉換爲虛擬鍵碼
- 2. 將字符轉換爲相應的虛擬鍵碼
- 3. Java:將字符串轉換爲KeyEvent虛擬鍵碼?
- 4. 如何將XLib鍵碼轉換爲Microsoft虛擬鍵值?
- 5. 如何將Windows本機虛擬鍵碼轉換爲Qt :: Key?
- 6. 虛擬鍵碼爲特殊字符
- 7. OS X Cocoa - 將虛擬掃描代碼轉換爲Char字符
- 8. 將CHotKeyCtrl中的熱鍵從虛擬代碼轉換爲字符串並向後
- 9. 將ASCII字符轉換爲x11鍵碼
- 10. SWT:將鍵碼轉換爲字符串
- 11. 將鍵碼轉換爲字符
- 12. 轉換虛擬鍵碼到Unicode字符串
- 13. 如何從虛擬鍵碼轉換爲System.Windows.Forms.Keys
- 14. C#虛擬鍵碼爲@符號
- 15. 如何將字符轉換爲其鍵碼?
- 16. 如何將HTML字符串轉換爲React中的虛擬DOM?
- 17. Java將鍵碼轉換爲字符串或字符
- 18. 將PHP字符串轉換爲鍵碼字符串
- 19. ANE C API - 將uint8_t字符串轉換爲MFC虛擬密鑰代碼
- 20. 如何將字符串轉換爲鍵
- 21. 如何將字符串從編碼轉換爲字符?
- 22. 如何將Unicode編碼的字符串轉換爲字符串
- 23. Javascript/jQuery:如何將字符串轉換爲HTML字符代碼
- 24. 如何將密鑰代碼轉換爲字符或字符串?
- 25. 將字符串轉換爲密碼
- 26. 將字符串轉換爲UCS2編碼
- 27. 將字符串轉換爲ASCII碼
- 28. 將ASCII碼轉換爲字符值
- 29. 將字符串轉換爲ASCII碼
- 30. 如何將QR碼轉換爲數字?