Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
310 / 271 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
1

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

26.07.2012, 12:15. Просмотров 682. Ответов 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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2012, 12:15
Ответы с готовыми решениями:

Напечатать только те символы, которые встречаются только в одном из слов
Даны два слова, напечатать только те символы, которые встречаются только в одном из слов. Например,...

Выбрать из текста только те символы, которые встречаются в нем только один раз
Здравствуйте, помогите пожалуйста написать программу:) Условие. Дана строка, содержащая текст на...

Из заданного предложения выбрать и напечатать только те символы, которые встречаются в нем только 1 раз
Помогите пожалуйста исправить этот код, почему то не выводит это:"В строке нет символов которые...

Даны два слова, напечатать только те символы, которые встречаются только в одном из слов
помогите, пожалуйста, с программой:) Писать ее не нужно, просто нужно помочь объяснить как ее...

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

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

http://msdn.microsoft.com/en-u... s.85).aspx
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2012, 21:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Из заданного предложения выбрать и напечатать только те символы, которые встречаются в нем только 1 раз
Из заданного предложения выбрать и напечатать только те символы, которые встречаются в нем только 1...

KeyDown не обрабатывает 3 клавиши
вот код: if (Control.ModifierKeys == Keys.Control && Control.ModifierKeys == Keys.Alt &&...

Функция ЕСЛИ обрабатывает только две столбца
=ЕСЛИ(G3<=10;B4;ЕСЛИ(G3>=11;C4;ЕСЛИ(G3<=20;C4;ЕСЛИ(G3>=21;D4 ;ЕСЛИ(G3<=30;D4...

Функция mysql_fetch_assoc обрабатывает только первую строку
Здравствуйте. Может кто поможет, уже всю голову поломал. Есть запрос к базе данных: $query =...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.