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控件。
繼承階層架構
CPagerCtrl
需求
標頭: afxcmn.h
CPagerCtrl::CPagerCtrl
建構 CPagerCtrl
物件。
CPagerCtrl();
備註
使用 CPagerCtrl::Create 或 CPagerCtrl::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::Create 或 CPagerCtrl::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::Create 或 CPagerCtrl::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* 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
下列範例會使用 訊息反映 ,讓呼叫器控件重新計算自己的大小,而不要求控件的父對話框執行計算。 此範例會 MyPagerCtrl
從 CPagerCtrl 類別衍生 類別,然後使用訊息對應將 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 訊息。