Partager via


CPagerCtrl::RecalcSize

Fait recalculer le contrôle actuel du pagineur la taille de la fenêtre contenue.

void RecalcSize();

Configuration requise

en-tête : afxcmn.h

Notes

Cette méthode envoie le message de PGM_RECALCSIZE , qui est décrit dans Kit de développement logiciel Windows. En conséquence, le contrôle pager envoie la notification de PGN_CALCSIZE pour obtenir les dimensions déroulantes de la fenêtre contenue.

Exemple

L'exemple suivant utilise la méthode de CPagerCtrl::RecalcSize pour demander au contrôle actuel du pagineur à recalculer sa taille.

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

L'exemple suivant utilise point d'arrêt de message pour permettre au contrôle pager de recalculer sa propre taille au lieu de demander de dialogue parent du contrôle d'exécuter le calcul. L'exemple dérive de la classe d' MyPagerCtrl de classe de CPagerCtrl, puis utilise une table des messages pour associer la notification de PGN_CALCSIZE avec le gestionnaire de notification d' OnCalcsize . Dans cet exemple, le gestionnaire de notification définit la largeur et la hauteur du contrôle pager aux valeurs fixe.

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

Voir aussi

Référence

CPagerCtrl, classe

Graphique de la hiérarchie

PGM_RECALCSIZE

PGN_CALCSIZE