MFC 中WM_GETMINMAXINFO 是响应窗口变化的函数OnGetMinMaxInfo(MINMAXINFO* lpMMI)
WM_SIZE 对应的消息响应函数OnSize(UINT nType, int cx, int cy)
1.窗口缩放边框 先调用WM_GETMINMAXINFO消息,如果发生边框大小的改变,会有WM_SIZE的响应
以下是MINMAXINFO参数实际测试结果:
void CMFCuserctrlDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//可以得到桌面大小
//1.
CWnd* pwnd = GetDesktopWindow();
RECT rect;
pwnd->GetClientRect(&rect);
//2.
int nScreenWidth, nScreenHeight;
nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
//MINMAXINFO 几组点的实际使用测试
//ptReserved
// 保留以供内部使用。
// ptMaxSize
// 指定最大化窗口的宽度(point.x) 和高度 (point.y)。
// ptMaxPosition
// 最大化窗口的指定 左上角位置 (point.x)。
// ptMinTrackSize
// 指定窗口边框长宽变化最大值。
// ptMaxTrackSize
// 指定窗口边框长宽变化最大值(point.x) (point.y) 。
// ptMaxSize
lpMMI->ptMaxSize.x = 1800;
lpMMI->ptMaxSize.y = 900;
//ptMaxPosition
lpMMI->p