2010-03-17 4 views
1

TrackPopupMenu를 사용하여 팝업 메뉴를 표시하고 있는데,이를 클릭하면 해제 될 때 알려드립니다. 나는 모든 메뉴 기능을 살펴 봤지만 이와 관련하여 유용한 것을 찾지 못했습니다. Spy ++는이 경우 윈도우 메시지가 전송되지 않는다고 말했습니다.팝업 메뉴가 닫히는 것을 확인하는 간단한 방법이 있습니까?

그래서 마우스 훅을 설치하지 않고도 쉽게 할 수 있습니까? 감사!

답변

3

[편집]
이것은 더 좋습니다. uFlags 매개 변수에 TPM_RETURNCMD를 지정하면 반환 값은 사용자가 선택한 항목의 메뉴 항목 식별자입니다. 사용자가 선택하지 않고 메뉴를 취소하거나 오류가 발생하면 반환 값은 0입니다.

:: TrackPopupMenu()가 반환 할 때 메뉴 루프가 종료됩니다. 메뉴 항목을 선택하면 6 번째 매개 변수로 전달 된 HWND가있는 창이 선택한 항목의 ID로 WM_COMMAND 메시지를 받게됩니다. 아마 :: PeekMessage() after :: TrackPopupMenu() WM_COMMAND 대기열에 있는지 보려면 반환 할 수 있습니다. 에 :: TrackPopupMenu()는 WM_EXITMENULOOP을 처리 할 수있는 동안

당신이 원하는 경우

통지합니다.

+0

실제로. 너무 간단해서 생각하지 않았습니다;) 감사합니다. –

관련 문제