У меня есть CFormView, и у меня есть некоторые элементы управления. Я реализовал событие OnKeyDown на моем CFormView. Все хорошо, за исключением того, что мое событие никогда не срабатывает, потому что основное внимание уделяется комбинированной коробке в моем CFormView. Я не хочу, чтобы поле со списком получало событие. Я хочу, чтобы CFormView получил его. Поэтому я реализовал PreTranslateMessage (MSG * pMsg), и он удаляет событие из поля со списком, но никогда не дает его CFormView. Вот код:MFC CFormView Событие OnKeyDown не активировано
BOOL CfinalprojView::PreTranslateMessage(MSG* pMsg) {
if(pMsg->message == WM_KEYDOWN) {
SendMessage(WM_COMMAND, MAKEWPARAM(IDD_FINALPROJ_FORM, BN_CLICKED), (LPARAM)0);
return TRUE;
} else if(pMsg->message == WM_KEYUP) {
return TRUE;
} else {
return CFormView::PreTranslateMessage(pMsg);
}}
Что я делаю неправильно?
Спасибо заранее,
Корнелиу
Почему вы не хотите поле со списком, чтобы обработать событие? – rrirower
Потому что я хотел бы нарисовать материал на CFormView, когда пользователь нажимает на клавиши. – corneliu
Если поле со списком является дочерним элементом формы, что препятствует выполнению родительского метода (формы) для рисования? – rrirower