限制窗口调整大小 xshbx 2010-12-17
调整窗口大小时,窗口会收到WM_SIZING消息,此消息的处理函数为void OnSizing(UINT fwSide, LPRECT pRect)。
fwSide指明窗口的那个边发生了变化,pRect指向新的窗口位置。
MSDN中的解释如下:
WM_SIZING
The WM_SIZING message is sent to a window that the user is resizing. By processing this message, an application can monitor the size and position of the drag rectangle and, if needed, change its size or position.
fwSide = wParam; // edge of window being sized
lprc = (LPRECT) lParam; // screen coordinates of drag rectangle
Parameters
fwSide
Value of wParam. Indicates which edge of the window is being sized. This parameter can be a combination of the following values: Value Meaning
WMSZ_BOTTOM Bottom edge
WMSZ_BOTTOMLEFT Bottom-left corner
WMSZ_BOTTOMRIGHT Bottom-right corner
WMSZ_LEFT Left edge
WMSZ_RIGHT Right edge
WMSZ_TOP Top edge
WMSZ_TOPLEFT Top-left corner
WMSZ_TOPRIGHT Top-right corner
lprc
Address of a RECT structure with the screen coordinates of the drag rectangle. To change the size or position of the drag rectangle, an application must change the members of this structure.
通过处理WM_SIZING消息,限制窗口的最小尺寸
在OnSizing函数中添加如下代码: