改变窗口大小,恢复以前的大小

mac2022-06-30  86

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

转载于:https://www.cnblogs.com/Dennis-mi/p/3370230.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)