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