分享方式:


CPagerCtrl 類別

CPagerCtrl 類別會封裝 Windows 頁面巡覽區控制項,可以將不符合容器視窗大小的包含視窗捲動到檢視中。

語法

class CPagerCtrl : public CWnd

成員

公用建構函式

名稱 描述
CPagerCtrl::CPagerCtrl 建構 CPagerCtrl 物件。

公用方法

名稱 描述
CPagerCtrl::Create 建立具有指定樣式的呼叫器控件,並將它附加至目前的 CPagerCtrl 物件。
CPagerCtrl::CreateEx 使用指定的擴充樣式建立呼叫器控制項,並將它附加至目前的 CPagerCtrl 物件。
CPagerCtrl::ForwardMouse 啟用或停用將WM_MOUSEMOVE訊息轉送至目前呼叫器控件中包含的視窗。
CPagerCtrl::GetBkColor 擷取目前呼叫器控件的背景色彩。
CPagerCtrl::GetBorder 擷取目前呼叫器控件的框線大小。
CPagerCtrl::GetButtonSize 擷取目前呼叫器控件的按鈕大小。
CPagerCtrl::GetButtonState 擷取目前呼叫器控制項中指定按鈕的狀態。
CPagerCtrl::GetDropTarget 擷取目前呼叫器控件的 IDropTarget 介面。
CPagerCtrl::GetScrollPos 擷取目前呼叫器控件的捲動位置。
CPagerCtrl::IsButtonDepressed 指出目前呼叫器控件的指定按鈕是否處於 pressed 狀態。
CPagerCtrl::IsButtonGrayed 指出目前呼叫器控件的指定按鈕是否處於 grayed 狀態。
CPagerCtrl::IsButtonHot 指出目前呼叫器控件的指定按鈕是否處於 hot 狀態。
CPagerCtrl::IsButtonInvisible 指出目前呼叫器控件的指定按鈕是否處於 invisible 狀態。
CPagerCtrl::IsButtonNormal 指出目前呼叫器控件的指定按鈕是否處於 normal 狀態。
CPagerCtrl::RecalcSize 導致目前的呼叫器控制件重新計算包含視窗的大小。
CPagerCtrl::SetBkColor 設定目前呼叫器控制件的背景色彩。
CPagerCtrl::SetBorder 設定目前呼叫器控件的框線大小。
CPagerCtrl::SetButtonSize 設定目前呼叫器控件的按鈕大小。
CPagerCtrl::SetChild 設定目前呼叫器控制件的包含視窗。
CPagerCtrl::SetScrollPos 設定目前呼叫器控件的捲動位置。

備註

呼叫器控制項是一個視窗,其中包含另一個線性視窗,且大於包含視窗,並可讓您將包含的視窗捲動到檢視中。 呼叫器控件會顯示兩個捲動按鈕,當包含的視窗捲動到最遠的範圍時,會自動消失,否則會重新出現。 您可以建立水平或垂直捲動的呼叫器控制項。

例如,如果您的應用程式有一個不夠寬的工具列來顯示其所有專案,您可以將工具列指派給呼叫器控件,而使用者將能夠將工具列卷動到左側或右側,以存取所有專案。 Microsoft Internet Explorer 4.0 版(commctrl.dll 4.71 版)引進呼叫器控件。

類別 CPagerCtrl 衍生自 CWnd 類別。 如需呼叫器控件的詳細資訊和圖例,請參閱 Pager控件

繼承階層架構

CObject

CCmdTarget

CWnd

CPagerCtrl

需求

標頭: afxcmn.h

CPagerCtrl::CPagerCtrl

建構 CPagerCtrl 物件。

CPagerCtrl();

備註

使用 CPagerCtrl::CreateCPagerCtrl::CreateEx 方法來建立呼叫器控件,並將它附加至 CPagerCtrl 物件。

CPagerCtrl::Create

建立具有指定樣式的呼叫器控件,並將它附加至目前的 CPagerCtrl 物件。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

參數

dwStyle
[in]要套用至控件的視窗樣式呼叫器控件樣式的位元組合(OR)。

rect
[in]RECT 結構的參考,其中包含用戶端座標中控件的位置和大小。

pParentWnd
[in]CWnd 物件的指標,該對像是控件的父視窗。 此參數不可以是 NULL。

nID
[in]控件的標識碼。

傳回值

如果此方法成功,則為TRUE;否則為 FALSE。

備註

若要建立呼叫器控件,請宣告 CPagerCtrl 變數,然後在該變數上呼叫 CPagerCtrl::CreateCPagerCtrl::CreateEx 方法。

範例

下列範例會建立呼叫器控件,然後使用 CPagerCtrl::SetChild 方法,將很長的按鈕控件與呼叫器控件產生關聯。 然後,此範例會使用 CPagerCtrl::SetButtonSize 方法,將呼叫器控件的高度設定為 20 像素,而 CPagerCtrl::SetBorder 方法可將框線粗細設定為 1 圖元。

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::CreateEx

使用指定的擴充樣式建立呼叫器控制項,並將它附加至目前的 CPagerCtrl 物件。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

參數

dwExStyle
[in]要套用至控件之擴充樣式的位元組合。 如需詳細資訊,請參閱 CreateWindowEx 函式的 dwExStyle 參數。

dwStyle
[in]要套用至控件的視窗樣式呼叫器控件樣式的位元組合(OR)。

rect
[in]RECT 結構的參考,其中包含用戶端座標中控件的位置和大小。

pParentWnd
[in]CWnd 物件的指標,該對像是控件的父視窗。 此參數不可以是 NULL。

nID
[in]控件的標識碼。

傳回值

如果此方法成功,則為TRUE;否則為 FALSE。

備註

若要建立呼叫器控件,請宣告 CPagerCtrl 變數,然後在該變數上呼叫 CPagerCtrl::CreateCPagerCtrl::CreateEx 方法。

CPagerCtrl::ForwardMouse

啟用或停用將WM_MOUSEMOVE訊息轉送至目前呼叫器控件中包含的視窗。

void ForwardMouse(BOOL bForward);

參數

bForward
[in]TRUE 可轉寄滑鼠訊息,或 FALSE 表示不要轉寄滑鼠訊息。

備註

這個方法會 傳送 windows SDK 中所述的PGM_FORWARDMOUSE 訊息。

CPagerCtrl::GetBorder

擷取目前呼叫器控件的框線大小。

int GetBorder() const;

傳回值

目前的框線大小,以像素為單位。

備註

此方法會 傳送 windows SDK 中所述的PGM_GETBORDER 訊息。

範例

下列範例會使用 CPagerCtrl::GetBorder 方法來擷取呼叫器控件框線的粗細。

void CCSplitButton_s2Dlg::OnXBorder()
{
   int borderSize = m_pager.GetBorder();
   CString str;
   str.Format(_T("The border is %d pixel(s) thick."), borderSize);
   MessageBox(str);
}

CPagerCtrl::GetBkColor

擷取目前呼叫器控件的背景色彩。

COLORREF GetBkColor() const;

傳回值

COLORREF 值,其中包含頁面流覽控制元件的目前背景色彩。

備註

這個方法會 傳送 windows SDK 中所述的PGM_GETBKCOLOR 訊息。

範例

下列範例會使用 CPagerCtrl::SetBkColor 方法,將呼叫器控件的背景色彩設定為紅色,以及 CPagerCtrl::GetBkColor 方法來確認已進行變更。

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::GetButtonSize

擷取目前呼叫器控件的按鈕大小。

int GetButtonSize() const;

傳回值

目前的按鈕大小,以像素為單位。

備註

此方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSIZE 訊息。

如果呼叫器控件具有PGS_HORZ樣式,按鈕大小會決定呼叫器按鈕的寬度,如果呼叫器控件具有PGS_VERT樣式,按鈕大小會決定呼叫器按鈕的高度。 如需詳細資訊,請參閱 Pager控件樣式

CPagerCtrl::GetButtonState

擷取目前呼叫器控制項中指定之捲動按鈕的狀態。

DWORD GetButtonState(int iButton) const;

參數

iButton
[in]指出擷取狀態的按鈕。 如果呼叫器控件樣式是PGS_HORZ,請為左側按鈕指定PGB_TOPORLEFT,併為右按鈕指定PGB_BOTTOMORRIGHT。 如果頁面導覽控件樣式是PGS_VERT,請為頂端按鈕指定PGB_TOPORLEFT,併為底部按鈕指定PGB_BOTTOMORRIGHT。 如需詳細資訊,請參閱 Pager控件樣式

傳回值

iButton 參數所指定的按鈕狀態。 狀態為PGF_INVISIBLE、PGF_NORMAL、PGF_GRAYED、PGF_DEPRESSED或PGF_HOT。 如需詳細資訊,請參閱PGM_GETBUTTONSTATE訊息的傳回值一節。

備註

這個方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSTATE 訊息。

CPagerCtrl::GetDropTarget

擷取目前呼叫器控件的 IDropTarget 介面。

IDropTarget* GetDropTarget() const;

傳回值

目前呼叫器控件介面的指標 IDropTarget

備註

IDropTarget 是您實作的其中一個介面,可支援應用程式中的拖放作業。

這個方法會 傳送 windows SDK 中所述的PGM_GETDROPTARGET 訊息。 此方法的呼叫端負責在不再需要介面時呼叫 Release IDropTarget 介面的成員

CPagerCtrl::GetScrollPos

擷取目前呼叫器控件的捲動位置。

int GetScrollPos() const;

傳回值

目前卷動位置,以像素為單位。

備註

這個方法會 傳送 windows SDK 中所述的 PGM_GETPOS訊息。

範例

下列範例會使用 CPagerCtrl::GetScrollPos 方法來擷取呼叫器控件目前的捲動位置。 如果呼叫器控件尚未捲動至零,則最左邊的位置,此範例會使用 CPagerCtrl::SetScrollPos 方法將捲動位置設定為零。

void CCSplitButton_s2Dlg::OnXScrollposition()
{
   int pos;
   CString str;
   pos = m_pager.GetScrollPos();
   if (pos != 0)
      m_pager.SetScrollPos(0);
   str.Format(_T("Old position = %d; new position = 0"), pos);
   MessageBox(str);
}

CPagerCtrl::IsButtonDepressed

指出目前呼叫器控件的指定卷動按鈕是否處於按下狀態。

BOOL IsButtonDepressed(int iButton) const;

參數

iButton
[in]指出擷取狀態的按鈕。 如果呼叫器控件樣式是PGS_HORZ,請為左側按鈕指定PGB_TOPORLEFT,併為右按鈕指定PGB_BOTTOMORRIGHT。 如果頁面導覽控件樣式是PGS_VERT,請為頂端按鈕指定PGB_TOPORLEFT,併為底部按鈕指定PGB_BOTTOMORRIGHT。 如需詳細資訊,請參閱 Pager控件樣式

傳回值

如果指定的按鈕處於按下狀態,則為TRUE;否則為 FALSE。

備註

這個方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSTATE 訊息。 然後,它會測試傳回的狀態是否PGF_DEPRESSED。 如需詳細資訊,請參閱PGM_GETBUTTONSTATE訊息的傳回值一節。

CPagerCtrl::IsButtonGrayed

指出目前呼叫器控件的指定卷動按鈕是否處於灰色狀態。

BOOL IsButtonGrayed(int iButton) const;

參數

iButton
[in]指出擷取狀態的按鈕。 如果呼叫器控件樣式是PGS_HORZ,請為左側按鈕指定PGB_TOPORLEFT,併為右按鈕指定PGB_BOTTOMORRIGHT。 如果頁面導覽控件樣式是PGS_VERT,請為頂端按鈕指定PGB_TOPORLEFT,併為底部按鈕指定PGB_BOTTOMORRIGHT。 如需詳細資訊,請參閱 Pager控件樣式

傳回值

如果指定的按鈕處於灰色狀態,則為TRUE;否則為 FALSE。

備註

這個方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSTATE 訊息。 然後,它會測試傳回的狀態是否PGF_GRAYED。 如需詳細資訊,請參閱PGM_GETBUTTONSTATE訊息的傳回值一節。

CPagerCtrl::IsButtonHot

指出目前呼叫器控件的指定捲動按鈕是否處於作用中狀態。

BOOL IsButtonHot(int iButton) const;

參數

iButton
[in]指出擷取狀態的按鈕。 如果呼叫器控件樣式是PGS_HORZ,請為左側按鈕指定PGB_TOPORLEFT,併為右按鈕指定PGB_BOTTOMORRIGHT。 如果頁面導覽控件樣式是PGS_VERT,請為頂端按鈕指定PGB_TOPORLEFT,併為底部按鈕指定PGB_BOTTOMORRIGHT。 如需詳細資訊,請參閱 Pager控件樣式

傳回值

如果指定的按鈕處於作用中狀態,則為TRUE;否則為 FALSE。

備註

這個方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSTATE 訊息。 然後,它會測試傳回的狀態是否PGF_HOT。 如需詳細資訊,請參閱PGM_GETBUTTONSTATE訊息的傳回值一節。

CPagerCtrl::IsButtonInvisible

指出目前呼叫器控件的指定卷動按鈕是否處於不可見狀態。

BOOL IsButtonInvisible(int iButton) const;

參數

iButton
[in]指出擷取狀態的按鈕。 如果呼叫器控件樣式是PGS_HORZ,請為左側按鈕指定PGB_TOPORLEFT,併為右按鈕指定PGB_BOTTOMORRIGHT。 如果頁面導覽控件樣式是PGS_VERT,請為頂端按鈕指定PGB_TOPORLEFT,併為底部按鈕指定PGB_BOTTOMORRIGHT。 如需詳細資訊,請參閱 Pager控件樣式

傳回值

如果指定的按鈕處於不可見狀態,則為TRUE;否則為 FALSE。

備註

當內含視窗捲動到最遠的範圍時,Windows 會讓捲動按鈕以特定方向顯示,因為按兩下按鈕進一步無法將更多自主視窗帶入檢視中。

這個方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSTATE 訊息。 然後,它會測試傳回的狀態是否PGF_INVISIBLE。 如需詳細資訊,請參閱PGM_GETBUTTONSTATE訊息的傳回值一節。

範例

下列範例會使用 CPagerCtrl::IsButtonInvisible 方法來判斷呼叫器控件的左右捲動按鈕是否可見。


void CCSplitButton_s2Dlg::OnXIsbuttoninvisible()
{
   BOOL bLeft = m_pager.IsButtonInvisible(PGB_TOPORLEFT);
   BOOL bRight = m_pager.IsButtonInvisible(PGB_BOTTOMORRIGHT);
   CString str;
   str.Format(_T("The left button is%s visible; the right button is%s visible."),
              (bLeft ? _T(" not") : _T("")),
              (bRight ? _T(" not") : _T("")));
   MessageBox(str);
}

CPagerCtrl::IsButtonNormal

指出目前呼叫器控件的指定卷動按鈕是否處於正常狀態。

BOOL IsButtonNormal(int iButton) const;

參數

iButton
[in]指出擷取狀態的按鈕。 如果呼叫器控件樣式是PGS_HORZ,請為左側按鈕指定PGB_TOPORLEFT,併為右按鈕指定PGB_BOTTOMORRIGHT。 如果頁面導覽控件樣式是PGS_VERT,請為頂端按鈕指定PGB_TOPORLEFT,併為底部按鈕指定PGB_BOTTOMORRIGHT。 如需詳細資訊,請參閱 Pager控件樣式

傳回值

如果指定的按鈕處於正常狀態,則為TRUE;否則為 FALSE。

備註

這個方法會 傳送 windows SDK 中所述的PGM_GETBUTTONSTATE 訊息。 然後,它會測試傳回的狀態是否PGF_NORMAL。 如需詳細資訊,請參閱PGM_GETBUTTONSTATE訊息的傳回值一節。

CPagerCtrl::RecalcSize

導致目前的呼叫器控制件重新計算包含視窗的大小。

void RecalcSize();

備註

這個方法會傳送 windows SDK 中所述的PGM_RECALCSIZE 訊息。 因此,呼叫器控件會傳送 PGN_CALCSIZE 通知,以取得自主視窗的可捲動維度。

範例 1

下列範例會使用 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."));
}

範例 2

下列範例會使用 訊息反映 ,讓呼叫器控件重新計算自己的大小,而不要求控件的父對話框執行計算。 此範例會 MyPagerCtrlCPagerCtrl 類別衍生 類別,然後使用訊息對應將 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::SetBkColor

設定目前呼叫器控制件的背景色彩。

COLORREF SetBkColor(COLORREF clrBk);

參數

clrBk
[in] COLORREF 值,其中包含頁面流覽控制項的新背景色彩。

傳回值

COLORREF 值,其中包含呼叫器控制元件的上一個背景色彩。

備註

這個方法會 傳送 windows SDK 中所述的 PGM_SETBKCOLOR訊息。

範例

下列範例會使用 CPagerCtrl::SetBkColor 方法,將呼叫器控件的背景色彩設定為紅色,以及 CPagerCtrl::GetBkColor 方法來確認已進行變更。

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::SetBorder

設定目前呼叫器控件的框線大小。

int SetBorder(int iBorder);

參數

iBorder
[in]以像素為單位的新框線大小。 如果iBorder 參數為負數,則框線大小會設定為零。

傳回值

前一個框線大小,以像素為單位。

備註

這個方法會 傳送 windows SDK 中所述的 PGM_SETBORDER訊息。

範例

下列範例會建立呼叫器控件,然後使用 CPagerCtrl::SetChild 方法,將很長的按鈕控件與呼叫器控件產生關聯。 然後,此範例會使用 CPagerCtrl::SetButtonSize 方法,將呼叫器控件的高度設定為 20 像素,而 CPagerCtrl::SetBorder 方法可將框線粗細設定為 1 圖元。

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetButtonSize

設定目前呼叫器控件的按鈕大小。

int SetButtonSize(int iButtonSize);

參數

iButtonSize
[in]以像素為單位的新按鈕大小。

傳回值

上一個按鈕大小,以像素為單位。

備註

此方法會 傳送 windows SDK 中所述的 PGM_SETBUTTONSIZE訊息。

如果呼叫器控件具有PGS_HORZ樣式,按鈕大小會決定呼叫器按鈕的寬度,如果呼叫器控件具有PGS_VERT樣式,按鈕大小會決定呼叫器按鈕的高度。 默認按鈕大小是滾動條寬度的四分之三,而最小按鈕大小為12圖元。 如需詳細資訊,請參閱 Pager控件樣式

範例

下列範例會建立呼叫器控件,然後使用 CPagerCtrl::SetChild 方法,將很長的按鈕控件與呼叫器控件產生關聯。 然後,此範例會使用 CPagerCtrl::SetButtonSize 方法,將呼叫器控件的高度設定為 20 像素,而 CPagerCtrl::SetBorder 方法可將框線粗細設定為 1 圖元。

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetChild

設定目前呼叫器控制件的包含視窗。

void SetChild(HWND hwndChild);

參數

hwndChild
[in]要包含之視窗的句柄。

備註

這個方法會傳送 windows SDK 中所述的PGM_SETCHILD 訊息。

這個方法不會變更自主視窗的父代;它只會將視窗句柄指派給卷動的呼叫器控件。 在大部分情況下,自主視窗將是呼叫器控件的子視窗。

範例

下列範例會建立呼叫器控件,然後使用 CPagerCtrl::SetChild 方法,將很長的按鈕控件與呼叫器控件產生關聯。 然後,此範例會使用 CPagerCtrl::SetButtonSize 方法,將呼叫器控件的高度設定為 20 像素,而 CPagerCtrl::SetBorder 方法可將框線粗細設定為 1 圖元。

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetScrollPos

設定目前呼叫器控件的捲動位置。

void SetScrollPos(int iPos);

參數

iPos
[in]以像素為單位的新卷動位置。

備註

此方法會 傳送 windows SDK 中所述的PGM_SETPOS 訊息。

另請參閱

CPagerCtrl 類別
階層架構圖表
Pager 控件