CPagerCtrl::RecalcSize
使当前页导航控件重新计算包含的窗口的大小。
void RecalcSize();
要求
标头: afxcmn.h
备注
此方法发送 PGM_RECALCSIZE 信息,在 Windows SDK所述。 因此,页导航控件发送 PGN_CALCSIZE 通知获取包含窗口的滚动维度。
示例
下面的示例使用 CPagerCtrl::RecalcSize 方法请求当前页导航控件重新计算其大小。
void CCSplitButton_s2Dlg::OnXRecalcsize()
{
// If the child control changes size, call RecalcSize() to change
// the size of the pager control accordingly.
m_pager.RecalcSize();
MessageBox(_T("The pager control size has been recalculated."));
}
下面的示例使用 消息反映 使页导航控件重新计算其自身的大小而不是需要控件的父对话框执行计算。 该示例从 CPagerCtrl选件类派生 MyPagerCtrl 选件类,然后使用消息映射关联 PGN_CALCSIZE 通知与 OnCalcsize 通知处理程序。 在此示例中,通知处理程序中设置页导航控件的宽度和高度为固定值。
BEGIN_MESSAGE_MAP(CMyPagerCtrl, CPagerCtrl)
ON_NOTIFY_REFLECT(PGN_CALCSIZE, &CMyPagerCtrl::OnCalcSize)
END_MESSAGE_MAP()
// CMyPagerCtrl message handlers
void CMyPagerCtrl::OnCalcSize(NMHDR* code, LRESULT* param)
{
// If the control contained in the pager control changes size, use this
// handler to change the size of the pager control accordingly.
LPNMPGCALCSIZE tmp = (LPNMPGCALCSIZE)code;
*param = 0;
tmp->iWidth = 500;
tmp->iHeight = 50;
}