最小话、最大化的消息函数

来源:互联网 发布:外贸原单淘宝店推荐 编辑:程序博客网 时间:2024/05/21 10:38

vc响应最大化最小化按钮的事件或消息

方法一。在OnSize消息事件中处理

 

最小化 SIZE_MINIMIZED,
最大化 SIZE_MAXIMIZED,
还原 SIZE_RESTORED,

例如:

void CMainDlg::OnSize(UINT nType, int cx, int cy) 
{
 CDialog::OnSize(nType, cx, cy);
 
 // TODO: Add your message handler code here
 //::SendMessage(g_hMain,WM_FORM_RESIZE,0,0);
 if   (nType== SIZE_MAXIMIZED)     
 {   
//在这里添加最小化需要处理的事件 
         // ::SendMessage(g_hMain,WM_FORM_RESIZE,0,0);
 }
 if   (nType==SIZE_RESTORED)     
 {   
//在这里添加还原时需要处理的事件 
        //  ::SendMessage(g_hMain,WM_FORM_RESIZE,0,0);
 }
}

方法二

在OnSysCommand中处理   
  nID   =   SC_MAXIMIZE   是最大化   
  nID   =   SC_MINIMIZE   是最小化

void CMainDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

      if   (nID== SIZE_MAXIMIZED)     
     {   
           //在这里添加最小化需要处理的事件 
            // ::SendMessage(g_hMain,WM_FORM_RESIZE,0,0);
     }
     if   (nID==SIZE_RESTORED)     
    {   
           //在这里添加还原时需要处理的事件 
          //  ::SendMessage(g_hMain,WM_FORM_RESIZE,0,0);
    } 

}

 

方法三:

    一般情况下是在消息处理过程中进行判断,如:  
  LRESULT   CALLBACK   WndProc(HWND   hWnd,   UINT   msg,   WPARAM   wParam,   LPARAM   lParam)  
  {  
          switch(msg)  
          {  
                  case   WM_DESTROY:  
                          //   响应代码  
                  break;  
                  case   WM_GETMINMAXINFO:     //   lParam返回一个指向MINMAXINFO结构的指针  
                          //   响应代码  
                  break;  
                  default:  
                          return   DefWindowProc(hWnd,   msg,   wParam,   lParam);  
          }  
          return   0;  
  }

 

WM_GETMINMAXINFO    WPARAM wParam    LPARAM lParam;

Parameters

wParam
This parameter is not used.
lParam
Pointer to a MINMAXINFO structure that contains the default maximized position and dimensions, and the default minimum and maximum tracking sizes. An application can override the defaults by setting the members of this structure.