WM_GETMINMAXINFO的功能:
主要是控制窗口显示时的大小(ptMaxSize),最大化时的位置(ptMaxPosition),鼠标控制窗口大小的最大(ptMaxTrackSize)、最小(ptMinTrackSize)位置。
对于这个消息,wParam 没有意义,lParam是指向MINMAXINFO结构体的指针。
此时,MINMAXINFO的结构体的定义如下:
typedef struct {
POINT ptReserved; //不用
POINT ptMaxSize; //最大范围
POINT ptMaxPosition; //最大的放置点
POINT ptMinTrackSize; //最小拖动范围
POINT ptMaxTrackSize; //最大拖动范围
} MINMAXINFO;
case WM_GETMINMAXINFO:
MINMAXINFO *mminfo;
mminfo=(PMINMAXINFO)lParam;
mminfo->ptMinTrackSize.x=200;
mminfo->ptMinTrackSize.y=200;
mminfo->ptMaxSize.x=300;
mminfo->ptMaxSize.y=300;
mminfo->ptMaxPosition.x=0;
mminfo->ptMaxPosition.y=0;
mminfo->ptMaxTrackSize.x=300;
mminfo->ptMaxTrackSize.y=300;
break;
在MFC中通过相应WM_GETMINMAXINFO消息后之需要在他的基础上添加一些代码就行
利用以上的代码就可以控制窗口的大小(300,300),最大化后会出现在(0,0)位置处,鼠标拖动改变窗口大小时,最大为(300,300),最小为(200,200)。其中的单位都是像素。
版权声明:本文为oqqTZb原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。