不论是WM_SIZING或WM_MOVING,它们的lParam参数都是一个指向RECT结构的
对象的指针,该对象中装有窗口改变尺寸或位置后的左上角和右下角坐标。注意
此时窗口实际上还没有改变到这个位置,所以可以通过改变这个RECT结构的对象
的成员值来限制窗口尺寸和位置的变化方向。
在mfc里,就是在OnSizing和OnMoving函数里来做这个工作。这两个函数的p
Rect参数就是消息里的(RECT*)lParam。
对象的指针,该对象中装有窗口改变尺寸或位置后的左上角和右下角坐标。注意
此时窗口实际上还没有改变到这个位置,所以可以通过改变这个RECT结构的对象
的成员值来限制窗口尺寸和位置的变化方向。
在mfc里,就是在OnSizing和OnMoving函数里来做这个工作。这两个函数的p
Rect参数就是消息里的(RECT*)lParam。
void CMainFrame::OnSizing(UINT fwSide, LPRECT pRect)
{
CFrameWnd::OnSizing(fwSide, pRect);
//限制窗口只能改变右边的尺寸
RECT rect;
GetWindowRect(&rect);
pRect->left=rect.left;
pRect->bottom=rect.bottom;
pRect->top=rect.top;
}
void CMainFrame::OnMoving(UINT fwSide, LPRECT pRect)
{
CFrameWnd::OnMoving(fwSide, pRect);
//限制窗口只能上下移动
RECT rect;
GetWindowRect(&rect);
pRect->left=rect.left;
pRect->right=rect.right;
}