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