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

来源:互联网 发布:java classpath 编辑:程序博客网 时间:2024/06/03 18:41

方法一。在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;  
}

原创粉丝点击