0
저는 CformView를 가지고 있으며 컨트롤을 가지고 있습니다. 내 CFormView에 OnKeyDown 이벤트를 구현했습니다. 포커스가 내 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);
}}
내가 뭘 잘못하고 있니?
는하여 CformView의 열쇠 이벤트를 전달 할 수있는 방법이없는 것 같다,
왜 원하지 않는 이벤트를 처리 할 수있는 콤보 상자를? – rrirower
나는 사용자가 키를 친 때 CFormView에 물건을 칠하고 싶기 때문에. – corneliu
콤보 상자가 폼의 자식 컨트롤 인 경우 페인팅을 수행하기 위해 부모 (폼) 메서드를 실행하지 못하게하는 것은 무엇입니까? – rrirower