1. 程式人生 > >vc響應最大化最小化按鈕的事件或訊息 .

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   是最小化

方法三:

    一般情況下是在訊息處理過程中進行判斷,如:  
  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;  
  }