void CdrawtestDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(nChar==VK_DOWN) MessageBox("gg");
}
OnKeyDOwn
мне нужно сделать чтобы при нажатии курсорных клавиш(на диалоговой панели) производились определенные действия...
я делаю так:
Код:
но почему-то именно курсорные клавиши не хотят работать, а все остальные работают...
Код:
BOOL CChAbbr::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_LEFT)
...
{
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_LEFT)
...
Цитата:
Originally posted by A.D.I.D.A.S
но почему-то именно курсорные клавиши не хотят работать, а все остальные работают...
Код:
void CdrawtestDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(nChar==VK_DOWN) MessageBox("gg");
}
{
if(nChar==VK_DOWN) MessageBox("gg");
}
но почему-то именно курсорные клавиши не хотят работать, а все остальные работают...
У MFC nChar это код поэтому вместо VK_DOWN можно использовать этот код. Для курсорных клавиш это(37,38,39,40) Правда именно для диалоговой панели я не пробовал но на обычном окне такая штука прокатывает в частности для класса вида.
Только вот фишка такая возникает для символьных клавиш можно использовать сами символы типа: nChar=='V' только прокатывает именно если писать только так и от регистра нажатой клавиши результат зависеть не будет а если написать nChar=='v' то при нажатии этой клавиши прога реагироать не будет. Че энто такое я сам не понял.
А вот через переопределение PreTranslateMessage нормально... Спасибо!