CWnd::OnSizing 是 MFC(Microsoft Foundation Classes)中 CWnd 类的一个受保护方法,用于处理窗口正在调整大小时的操作。当用户调整窗口大小时,系统将持续调用这个方法,以便在调整过程中执行一些自定义操作。

以下是 OnSizing 方法的典型声明:
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);

  •  fwSide 参数是一个标志,指示用户调整哪个边缘(上、下、左、右等)。

  •  pRect 参数是一个指向表示窗口新位置和大小的 RECT 结构的指针。


在实际应用中,您可以重写这个方法以执行在窗口调整大小时需要进行的自定义操作。例如:
void CYourWndClass::OnSizing(UINT fwSide, LPRECT pRect)
{
    // 执行窗口调整大小时的自定义操作

    // 调用基类实现
    CWnd::OnSizing(fwSide, pRect);
}

在这个方法中,您可以检查 fwSide 参数,了解用户是在调整窗口的哪个边缘,然后可以根据需要调整 pRect 中的值,以限制窗口的大小或执行其他自定义操作。

为了使用这个方法,您需要在消息映射中添加对应的宏,例如:
BEGIN_MESSAGE_MAP(CYourWndClass, CWnd)
    // 其他消息映射...
    ON_WM_SIZING()
END_MESSAGE_MAP()

这样,当用户调整窗口大小时,OnSizing 方法就会被调用。


转载请注明出处:http://www.zyzy.cn/article/detail/23680/MFC/CWnd