|
|
|
новичок
      
участник
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 не хотят обрабатываться. Как мне их обработать тогда?
|
|
|
|
|
Supreme 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
|
|
|
|
|
новичок
      
участник
Last Login: 26.07.2001 12:07
Сообщ.: 2,
Visits: 23
|
|
| VitSoft:) Огромное спасибо.
|
|
|
|