CWnd::OnNcCalcSize

当客户端区域的大小和位置需要计算时,框架调用该成员函数。

afx_msg void OnNcCalcSize( 
   BOOL bCalcValidRects, 
   NCCALCSIZE_PARAMS* lpncsp  
);

参数

  • bCalcValidRects
    指定应用程序是否应指定工作区的哪个部分包含有效的信息。 Windows将复制有效的信息到新工作区的指定区域。 如果此参数是 TRUE,应用程序应指定工作区的哪一部分是有效的。

  • lpncsp
    指向包含信息应用程序可以使用计算 CWnd 矩形的新大小和位置的 NCCALCSIZE_PARAMS 数据结构(包括工作区、边框、标题,滚动条,等等)。

备注

通过处理此消息,应用程序可以控制窗口的工作区的内容,当窗口的大小或位置发生变化时。

无论 bCalcValidRects的值,在 NCCALCSIZE_PARAMS 结构的 rgrc 结构成员指定的数组的第一个矩形包含windows的坐标。 对于子窗口,坐标系是相对于父窗口的工作区。 对于顶级窗口,坐标是屏幕坐标。 应用程序应修改 rgrc[0] 矩形反映客户端区域的大小和位置。

仅当 bCalcValidRects 是 TRUErgrc[1]rgrc[2] 矩形有效。 在这种情况下,在已经移动或已调整大小之前,rgrc[1] 矩形包含windows的坐标。 在窗口中移动之前,rgrc[2] 矩形包含窗口工作区的坐标。 所有坐标系是相对于父窗口或屏幕。

默认实现计算基于窗口特征的工作区的范围(滚动条,显示菜单,等等)并将在 lpncsp的结果。

备注

此成员函数由框架调用提供您的应用程序处理Windows消息。当接收消息,参数传递给函数以反映结构接收的参数。如果调用此函数的基类实现,该实现将使用参数最初用消息您提供给函数而非参数。

要求

Header: afxwin.h

请参见

参考

CWnd 类

层次结构图

WM_NCCALCSIZE

CWnd::MoveWindow

CWnd::SetWindowPos