Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
drm79

Как мне поймать WM_KEYDOWN

03.10.2007, 12:56. Показов 2392. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу обработку сообщения в Dialog Based Project:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void CDialogDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
 
        if (nChar == VK_RIGHT)
    {
        point.x-=4;
    }
    else if (nChar == VK_LEFT)
    {
        point.x+=4;
    }
    else if (nChar == VK_DOWN)
    {
        point.y+=4;
    }
    else if (nChar == VK_UP)
    {
        point.y-=4;
    }
    OnPaint();
    CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
мне нужно поймать клавиши VK_UP, VK_RIGHT, VK_LEFT,VK_DOWN. Когда нажимаю VK_LEFT и VK_UP все работает, но вот VK_WODN и VK_RIGHT не хотят обрабатываться. Как мне их обработать тогда?
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2007, 12:56
Ответы с готовыми решениями:

Как (чем) поймать ошибку?
Есть проект - изначально представляющий собой прошивку для устройства, написан на С++. Из него сделана dll - которая получает данные,...

Как можно с JS кода поймать на сайте Вконтакте кнопку мне нравится?
Как можно с помощю JS кода поймать на сайте Вконтакте кнопку мне нравится? Суть в том, что я хочу написать приложение для обмена лайками,...

WM_KEYDOWN, как избавиться от паузы при нажатии на клавишу и продолжительном ее удержании
при определенном нажатии на клавишу, двигается static элемент. т.е. двигается с одним рывком в начале. можно ли избавиться от этого,...

2
0 / 0 / 1
Регистрация: 25.09.2007
Сообщений: 92
03.10.2007, 13:38
Hi !!
C++
1
2
3
4
5
6
7
8
                               BOOL CQwertyDlg::PreTranslateMessage(MSG* pMsg) 
                               { 
                               if(pMsg-message == WM_KEYDOWN) 
                               { 
                               // ваш код выбору нажатой кнопки 
                               } 
                               return CDialog::PreTranslateMessage(pMsg); 
                               }
pMsg-wParam - там будет код нажатой кнопки

вверх - 38
вниз - 40
left - 37
right - 39

http://www.development.efficientit.com
0
drm79
04.10.2007, 01:15
VitSoft Огромное спасибо.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2007, 01:15
Помогаю со студенческими работами здесь

Хук клавиатуры - как отличать события WM_KEYDOWN и WM_KEYUP при зажатой ALT?
Сделал хук для клавиатуры, столкнулся с проблемой: при зажатой клавише ALT перестают генерироваться события WM_KEYDOWN или по крайней мере...

Для заданого 0<=n<=200.Расматриваемого как возраст человека,вывести фразу вида: "Мне 21 год", "Мне 32 года", "мне 12 лет".
МОЙ ВОЗРАСТ. Для заданого 0&lt;=n&lt;=200.Расматриваемого как возраст человека,вывести фразу вида: &quot;Мне 21 год&quot;, &quot;Мне 32...

Для заданного n вывести фразу вида «Мне 21 год», «Мне 22 года», «Мне 15 лет»
. Для заданного 0&lt;=n&lt;=200 , рассматриваемого как возраст человека, вывести фразу вида «Мне 21 год», «Мне 22 года», «Мне 15 лет».

Как поймать ошибку
При открытии базы вылетает предупреждение &quot;Не удается выполнить указанную команду&quot;, если нажать ОК то база работает нормально. ...

Как поймать ошибку
Проблема: Пользователь открывает основную страничку, на которой стоит автообновление (NotesTimer) Затем он открывает другую БД ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru