C언어,ARM
MFC에서 WM_COMMAND처리 방법
안녕1999
2019. 12. 22. 23:40
MFC에서 WM_COMMAND처리 방법
--------------------------------------------------
MFC에서 PreTranslateMessage에서는 WM_COMMAND를 처리할 수 없다.
클래스 위져드(Ctrl+W)에서 OnCommand함수 추가하여 처리.
BN_PUSHED, BN_UNPUSHED 처리방법
--------------------------------------------------
1) MFC에서 OnCommand추가해도 응답이 없음.
버튼은 BS_NOTIFY스타일로 생성해야한다고함.
리소스 버튼에서 Notify체크해도 안됨.
2) OnTimer에서 각 버튼의 상태 체크
버튼이 눌린 상태에서는 타이머 동작이 안되는듯.
3) 부모윈도우를 서브클래싱하여 WM_LBUTTONUP/WM_LBUTTONDOWN 처리
부모윈도우의 빈곳을 클릭할때만 메세지 발생.
버튼 클릭시 메세지 처리 불가.
4) 모든 버튼을 서브클래싱하여 WM_LBUTTONUP/WM_LBUTTONDOWN 처리
복잡
5) 버튼을 직접 그리고, 마우스처리
더 복잡