vc++ 窗口大小变化激发的消息OnSize、OnSizing和OnGetMinMaxInfo

OnGetMinMaxInfo函数在窗口初始化的时候会被调用一次,当窗口大小发生改变的时候也会被调用。利用这个函数,可以比较方便的实现窗口最大最小尺寸的控制。

参数lpMMI是一个结构体指针,其中包含了有关窗口的最大化大小和位置以及最小、最大的信息。
void CDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)   
{  
    lpMMI->ptMinTrackSize.x = 500;   //限制最小宽度
    lpMMI->ptMinTrackSize.y = 100;   //限制最小高度
  
    CDialog::OnGetMinMaxInfo(lpMMI);  
}  

OnSizing函数在窗口大小发生变化时被调用
void CDlg::OnSizing(UINT fwSide, LPRECT pRect)   
{  
    //pRect窗口变化后的大小
  
    CDialog::OnSizing(fwSide, pRect);  

OnSize函数会在窗口大小改变结束后被调用,通常会在这个函数里重新摆放各个控件的位置及大小。
void CDlg::OnSize(UINT nType, int cx, int cy)
{
    CDialog::OnSize(nType, cx, cy);
    //摆放控件的位置
}

你可能感兴趣的:(vc++ 窗口大小变化激发的消息OnSize、OnSizing和OnGetMinMaxInfo)