我用MFC,应该是在那里去截获这个消息呢?在那个函数里面去截获是比较通用的做法?

解决方案 »

  1.   

    MFC通过消息映射将整个消息队列封装起来.要截获消息,只能从classwizard中重载消息相应的处理函数.
      

  2.   

    在对话窗类中重载
    WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if (message==WM_SYSCOMMAND)
    {
    if (wParam==SC_CLOSE)
    {
    //your codes is here
    return true;
    }
    }
    return CDialog::WindowProc(message, wParam, lParam);
    }
      

  3.   

    发送的是WM_SYSCOMMAND消息,wParam是SC_CLOSE.可以PerTranslateMessage函数来处理。