Форум программистов, компьютерный форум CyberForum.ru

KeyDown обрабатывает только символы - C++

Восстановить пароль Регистрация
 
titans2011
293 / 254 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
26.07.2012, 12:15     KeyDown обрабатывает только символы #1
Всем привет. Собственно сам вопрос, когда я вызываю функцию (пишу на WinApI, но вопрос из основ c++) Она реагирует только на буквы, цифры, а мне нужно ещё VK_LEFT, VK_RIGHT. Но почему то эта функция их не обрабатывает, вопрос почему.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void CMovingBallDlg::KeyD(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags)
{
    switch (wP) {
        case (VK_LEFT)://сообщение не обрабатывается
        {
            MessageBox( hw, L"Вращаем в лево",L"Сообщение", MB_OK );    
        } break;
        case (90)://сообщение обрабатывается
            {
                    MessageBox( hw, L"Нажата клавиша Z",L"Сообщение", MB_OK );
            }
        break;
 
 
        }
}
 
BOOL CALLBACK CMovingBallDlg::DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
        ptr->wP=wParam;
    switch(message)
    {
 
        HANDLE_MSG(hwnd, WM_KEYDOWN, ptr->KeyD);
 
    }
    return FALSE;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2012, 12:15     KeyDown обрабатывает только символы
Посмотрите здесь:

Напечатать только те символы, которые встречаются в обоих словах C++
Даны два слова, напечатать только те символы, которые встречаются только в одном из слов C++
C++ напечатать только те символы, которые встречаются только в одном из слов
Оставить в строке только те символы, которые встречаются один раз C++
Нужно из строки символов удалить символы которые встречаются в нем только один раз C++
Выбрать из текста только те символы, которые встречаются в нем только один раз C++
Выбрать символы, которые встречаются в строке только один раз C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
modwind
 Аватар для modwind
52 / 52 / 1
Регистрация: 09.03.2012
Сообщений: 101
26.07.2012, 21:18     KeyDown обрабатывает только символы #2
По-умолчанию некоторые клавиши обрабатываются системой. Стрелки, в частности, перемещают фокус в диалоге с одного элемента управления на другой. Чтобы отменить это поведение, следует обрабатывать сообщение WM_GETDLGCODE.

Попробуй при получении этого сообщения возвращать DLGC_WANTARROWS или DLGC_WANTALLKEYS.

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Yandex
Объявления
26.07.2012, 21:18     KeyDown обрабатывает только символы
Ответ Создать тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru