개발자 블로그
트레이 아이콘 컨텍스트 메뉴 띄울 때 시스템 메뉴가 같이 뜨는 문제 본문
문제의 현상을 조금 구체적으로 설명하면,
일단 Windows7에서는 문제가 안되고, Windows10에서만 발생한다. (Windows8은 없어서 테스트 못해 봄) 트레이 영역에 생성한 아이콘을 마우스 우클릭 했을 때 컨텍스트 메뉴를 띄워주는데, 윈도우의 시작표시줄을 우클릭 했을 때 뜨는 컨텍스트 메뉴가 동시에 떠버리는 현상이다. 같이 뜨는 것 자체도 문제지만, 이렇게 동시에 떴을 때 아래 이미지처럼 z-order가 시작표시줄이나 시스템 컨텍스트 메뉴보다도 더 밑에 위치해 있어서 선택하는 것 역시 쉽지가 않다.
문제의 원인을 파악하는건 어렵지만 해결 방법은 매우 간단한 경우가 많은데, 이번에도 그랬다..
마우스 우클릭 이벤트를 잡는 부분의 코드를 WM_RBUTTONDOWN 이벤트를 잡아서 처리했는데, 이걸 WM_RBUTTONUP 이벤트를 잡아서 처리하도록 변경 해주면 모든것이 정상적으로 동작한다.
아, SetForegroundWindow()를 호출하는 것도 깜빡하지 말자.
근데 뭐.. 요즘 MFC 쓰는 프로그램이 아직도 있을라나..?
'프로그래밍 > MFC' 카테고리의 다른 글
RichEdit 컨트롤 syntax highlighting 속도를 빠르게.. (0) | 2016.12.25 |
---|---|
ZipArchive 라이브러리 사용시 v3로 인한 압축해제 에러 해결 (0) | 2016.04.15 |
MFC - 윈도우 시스템 날짜 변경 코드 (0) | 2015.08.08 |
MFC - MAC 주소 얻기 (0) | 2015.08.08 |
MFC 월단위 날짜 계산을 위한 AddMonth 함수 구현 (0) | 2015.08.07 |
Comments