CWnd::OnSize 是 MFC(Microsoft Foundation Classes)中 CWnd 类的一个受保护方法,用于处理窗口大小变化时的操作。当窗口大小发生变化时,系统将调用这个方法。

以下是 OnSize 方法的典型声明:
afx_msg void OnSize(UINT nType, int cx, int cy);

  •  nType 参数是一个表示窗口大小变化类型的标志。

  •  cx 和 cy 参数分别表示新的客户区域的宽度和高度。


在实际应用中,您可以重写这个方法以执行在窗口大小变化时需要进行的自定义操作。例如:
void CYourWndClass::OnSize(UINT nType, int cx, int cy)
{
    // 执行窗口大小变化时的自定义操作

    // 调用基类实现
    CWnd::OnSize(nType, cx, cy);
}

在这个方法中,您可以根据需要检查 nType 参数,了解窗口大小变化的具体类型,然后执行相应的操作。cx 和 cy 参数表示新的客户区域的大小。

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

这样,当窗口大小发生变化时,OnSize 方法就会被调用。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23679/MFC/CWnd