Condividi tramite


CPagerCtrl::RecalcSize

Determina il controllo pager corrente a ricalcolare la dimensione della finestra contenuta.

void RecalcSize();

Requisiti

intestazione: afxcmn.h

Note

Questo metodo invia il messaggio PGM_RECALCSIZE, come descritto in Windows SDK. Di conseguenza, il controllo pager invia una notifica PGN_CALCSIZE per ottenere le dimensioni delle finestre scorrevoli contenuta.

Esempio

Nell'esempio seguente viene utilizzato il metodo CPagerCtrl::RecalcSize per richiedere al controllo pager corrente a ricalcolare la dimensione.

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."));
}

Nell'esempio riportato reflection di messaggio per consentire al controllo pager per ricalcolare la relativa dimensione anziché richiedere la finestra di dialogo padre del controllo l'esecuzione del calcolo. L'esempio deriva dalla classe MyPagerCtrl da classe di CPagerCtrl, quindi utilizza una mappa messaggi per associare la notifica PGN_CALCSIZE con il gestore di notifica OnCalcsize. In questo esempio, il gestore di notifica imposta la larghezza e l'altezza del controllo pager i valori corretti.

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

Vedere anche

Riferimenti

Classe CPagerCtrl

Grafico delle gerarchie

PGM_RECALCSIZE

PGN_CALCSIZE