在窗体设计过程中,经常需要限制窗体大小,如果没有必要可以直接使用NOSIZEBOX,但如果要做到大小的区域限制,那就得废一下心思了。
在这里主要利用GETMINMAXINFO消息,该消息是Windows获取窗体最大和最小的窗体大小,其中lParam指向的是MINMAXINFO结构体。
typedef struct tagMINMAXINFO {
POINT ptReserved; //保留
POINT ptMaxSize; //最大大小(窗口大小)
POINT ptMaxPosition; //最大位置(即左上角到右下角的距离)
POINT ptMinTrackSize; //限制的最小大小
POINT ptMaxTrackSize; //限制的最大大小
} MINMAXINFO