none
메시지 핸들러의 추가 정보를 알수 있습니까? RRS feed

  • 질문

  • 제 프로그램에서 WM_CLOSE 메시지를 사용하는데 OnClose 로 등록해서 사용하고 있어요

    이 메시지를 보내는 쪽에서 상황에 따라 wParam 에 1 또는 0 을 넣어주는데 OnClose 는 인자가 없어서 확인을 할수가 없어

    WindowProc / DefWindowProc 등록하고 wParam 값과 비교해서 사용하는데 다른방법은 없나요?

    2012년 7월 25일 수요일 오후 3:55

답변

  • GetCurrentMessage 라는 함수가 있습니다. 현재 처리중인 메시지의 구조체를 담고 있기 때문에,
    핸들러에서 바로 사용하시면 됩니다. WM_CLOSE 를 예를들어 구성해보면 다음과 같습니다.

     

    void MyDlg::OnClose()
    {

        const MSG *p_msg = GetCurrentMessage();

        // p_msg->wParam 을 사용하시면 됩니다.

        CDialog::OnClose();

    }

    • 답변으로 표시됨 페스티벌 2012년 7월 25일 수요일 오후 4:50
    2012년 7월 25일 수요일 오후 4:23
    중재자

모든 응답

  • GetCurrentMessage 라는 함수가 있습니다. 현재 처리중인 메시지의 구조체를 담고 있기 때문에,
    핸들러에서 바로 사용하시면 됩니다. WM_CLOSE 를 예를들어 구성해보면 다음과 같습니다.

     

    void MyDlg::OnClose()
    {

        const MSG *p_msg = GetCurrentMessage();

        // p_msg->wParam 을 사용하시면 됩니다.

        CDialog::OnClose();

    }

    • 답변으로 표시됨 페스티벌 2012년 7월 25일 수요일 오후 4:50
    2012년 7월 25일 수요일 오후 4:23
    중재자
  • 아. GetCurrentMessage 에 대해서도 정리해둔 글이 있었네요 ㅎㅎ
    이미 해결하셨겠지만, 링크해드리겠습니다.

     

    http://www.tipssoft.com/bulletin/tb.php/FAQ/43

    2012년 7월 26일 목요일 오후 4:30
    중재자