Как преобразовать код виртуальной клавиши в код символа? - PullRequest
3 голосов
/ 22 февраля 2010

В обработчике onkeydown() я получаю 219 в качестве кода клавиши для '['; однако фактическое значение символа '[' составляет 91. Есть ли способ сопоставить эти два?

Ответы [ 3 ]

3 голосов
/ 22 февраля 2010

Если вы используете Windows, вам следует обратиться к функции ToUnicodeEx .

1 голос
/ 15 апреля 2011

шаг 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 -> Compile
Шаг 7: Сборка -> Сборка
Шаг 8: Построить -> Выполнить

0 голосов
/ 22 февраля 2010

MapVirtualKey () также полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...