共用方式為


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

下列範例會使用 反映訊息 讓頁面巡覽區控制項重新計算其大小而不需要控制項的父對話方塊執行計算。 這個範例會從 CPagerCtrl 類別MyPagerCtrl 衍生類別,然後使用訊息對應關聯 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