다음을 통해 공유


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;
}

참고 항목

참조

CPagerCtrl 클래스

계층 구조 차트

PGM_RECALCSIZE

PGN_CALCSIZE