最小化 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;
}