我想在对话框最小化时做一些处理,所以想捕获对话框最小化消息(我的程序是基于对话框的)。

解决方案 »

  1.   

    BOOL CYDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class if( pMsg->message == 最小化消息)
     
    return TRUE; 
    }
      

  2.   

    最小化的消息是WS_MINIMIZE
    用楼上的方法
      

  3.   

    响应WM_SYSCOMMAND
    afx_msg void OnSysCommand(...)void CxxxDlg::OnSysCommand(...)
    {
    if(nID == SC_MINIMIZE) // 最小化消息
    {
    // DO SOMETHING
    ...
    }
    }
      

  4.   

    SC_MINIMIZE表示最小化消息
    详细的可以看看MSDN里的WM_SYSCOMMAND
      

  5.   

    窗口改变最大最小化是要收到
    WM_QUERYOPEN 消息
      

  6.   


    void CxxxDlg::OnSysCommand(...)
    {
    if(nID == SC_MINIMIZE) // 最小化消息
    {
    // DO SOMETHING
    ...
    }
      

  7.   

    OnSize:  nType == SIZE_MINIMIZED