Как мне поймать WM_KEYDOWN
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как мне поймать WM_KEYDOWN Expand / Collapse
Автор
Сообщение
26.07.2001 12:19
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 26.07.2001 12:07
Сообщ.: 2, Visits: 23
Пишу обработку сообщения в Dialog Based Project:

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 не хотят обрабатываться. Как мне их обработать тогда?
Сообщ. #717585
26.07.2001 13:01
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 11.09.2003 19:04
Сообщ.: 97, Visits: 1 068
Hi !!

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
Сообщ. #717594
27.07.2001 0:38
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 26.07.2001 12:07
Сообщ.: 2, Visits: 23
VitSoft:) Огромное спасибо.
Сообщ. #717681
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:11