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."));
}
다음 예제를 사용 하 여 메시지 리플렉션 사용할 수 있도록 페이저 컨트롤 대신 계산을 수행 하는 컨트롤의 부모 대화 상자 크기를 다시 계산 합니다.예제에서는 파생의 MyPagerCtrl 클래스에서 CPagerCtrl 클래스, 메시지 맵을 사용 하 여 연결 하는 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;
}