为了控制窗口的大小,在窗口初始化时,需要用到MINMAXINFO结构体。
结构体:
typedef struct {
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
} MINMAXINFO;
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
} MINMAXINFO;
参数说明:
ptMaxSize: 设置窗口最大化时的宽度、高度
ptMaxPosition: 设置窗口最大化时x坐标、y坐标
ptMinTrackSize: 设置窗口最小宽度、高度
ptMaxTrackSize:设置窗口最大宽度、高度
实例:
1、在窗口类映射ON_WM_GETMINMAXINFO消息;
2、在该函数修改MINMAXINFO结构体数据:
void CTestDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
lpMMI->ptMaxSize.x = 800; // 设置窗口最大化时的宽度
lpMMI->ptMaxSize.y = 600; // 设置窗口最大化时的高度
lpMMI->ptMaxPosition.x = 100; // 设置窗口最大化时x坐标
lpMMI->ptMaxPosition.y = 100; // 设置窗口最大化时y坐标
lpMMI->ptMinTrackSize.x = 400; // 设置窗口最小宽度
lpMMI->ptMinTrackSize.y = 400; // 设置窗口最小高度
lpMMI->ptMaxTrackSize.x = 600; // 设置窗口最大宽度
lpMMI->ptMaxTrackSize.y = 500; // 设置窗口最大高度
CDialog::OnGetMinMaxInfo(lpMMI);
}
{
lpMMI->ptMaxSize.x = 800; // 设置窗口最大化时的宽度
lpMMI->ptMaxSize.y = 600; // 设置窗口最大化时的高度
lpMMI->ptMaxPosition.x = 100; // 设置窗口最大化时x坐标
lpMMI->ptMaxPosition.y = 100; // 设置窗口最大化时y坐标
lpMMI->ptMinTrackSize.x = 400; // 设置窗口最小宽度
lpMMI->ptMinTrackSize.y = 400; // 设置窗口最小高度
lpMMI->ptMaxTrackSize.x = 600; // 设置窗口最大宽度
lpMMI->ptMaxTrackSize.y = 500; // 设置窗口最大高度
CDialog::OnGetMinMaxInfo(lpMMI);
}