Определение нажатой клавиши в Mfc
Как можно принудительно запустить ети обработчики сообщений от клавиатури или может както по другому можно узнать код нажатой клавиши?
Цитата:
Originally posted by AVDEY
у меня есть диалог настройки в нём EditBox и по етому, наверно, не срабативает функция void CMORZEDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) или void CMORZEDlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags).
Как можно принудительно запустить ети обработчики сообщений от клавиатури или может както по другому можно узнать код нажатой клавиши?
у меня есть диалог настройки в нём EditBox и по етому, наверно, не срабативает функция void CMORZEDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) или void CMORZEDlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags).
Как можно принудительно запустить ети обработчики сообщений от клавиатури или может както по другому можно узнать код нажатой клавиши?
А просто вызвать как функции OnKeyDown,OnKeyUp не пробовал?
Цитата:
Originally posted by AVDEY
у меня есть диалог настройки в нём EditBox и по етому, наверно, не срабативает функция void CMORZEDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) или void CMORZEDlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags).
Как можно принудительно запустить ети обработчики сообщений от клавиатури или может както по другому можно узнать код нажатой клавиши?
у меня есть диалог настройки в нём EditBox и по етому, наверно, не срабативает функция void CMORZEDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) или void CMORZEDlg::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags).
Как можно принудительно запустить ети обработчики сообщений от клавиатури или может както по другому можно узнать код нажатой клавиши?
Попробуй использовать функцию PreTranslateMessage. Отлавливай сообщения WM_KEYDOWN WM_KEYUP. Т.к. функции OnKeyDown и OnKeyUp обрабатываются Edit'oм.
Цитата:
Originally posted by vitaly2003s
А просто вызвать как функции OnKeyDown,OnKeyUp не пробовал?
А просто вызвать как функции OnKeyDown,OnKeyUp не пробовал?
пробивал но компилятор видаєт ошибку.
И вобще то ета функция должна визиватса при нажатии на клавишу.
Цитата:
Originally posted by AndreySar
Попробуй использовать функцию PreTranslateMessage. Отлавливай сообщения WM_KEYDOWN WM_KEYUP. Т.к. функции OnKeyDown и OnKeyUp обрабатываются Edit'oм.
Попробуй использовать функцию PreTranslateMessage. Отлавливай сообщения WM_KEYDOWN WM_KEYUP. Т.к. функции OnKeyDown и OnKeyUp обрабатываются Edit'oм.
Я уже пробивал но ета функция отлавливает только то что клавиша нажата, а мне надо получить код клавиши и запонить его.
Цитата:
Originally posted by AVDEY
Я уже пробивал но ета функция отлавливает только то что клавиша нажата, а мне надо получить код клавиши и запонить его.
Я уже пробивал но ета функция отлавливает только то что клавиша нажата, а мне надо получить код клавиши и запонить его.
Нит, ета фукция исчо и паказивает код клавиши. Пачитай мсдн павниматильние.
Цитата:
Originally posted by Alexandoros
Нит, ета фукция исчо и паказивает код клавиши. Пачитай мсдн павниматильние.
Нит, ета фукция исчо и паказивает код клавиши. Пачитай мсдн павниматильние.
Ты прав у параметре wParam хранитса код нажатой клавиши.
Пасибо!