Partilhar via


CPagerCtrl::RecalcSize

Faz com que o controle atual de paginação recalcule o tamanho da janela contida.

void RecalcSize();

Requisitos

Cabeçalho: afxcmn.h

Comentários

Este método envia a mensagem de PGM_RECALCSIZE , que é descrita em Windows SDK.Portanto, o controle paginação envia a notificação de PGN_CALCSIZE para obter as dimensões roláveis da janela contida.

Exemplo

O exemplo a seguir usa o método de CPagerCtrl::RecalcSize para solicitar o controle atual de paginação recalcular seu tamanho.

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

O exemplo a seguir usa reflexão de mensagem para habilitar o controle paginação para recalcular seu próprio tamanho em vez de exigir a caixa de diálogo pai do controle executar o cálculo.O exemplo derivado da classe de MyPagerCtrl de classe de CPagerCtrl, então usa um mapa de mensagem para associar a notificação de PGN_CALCSIZE com o manipulador de notificação de OnCalcsize .Em esse exemplo, o manipulador de notificação defina a largura e altura do controle paginação para valores fixos.

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

Consulte também

Referência

Classe de CPagerCtrl

Gráfico de hierarquia

PGM_RECALCSIZE

PGN_CALCSIZE