Klasa CPagerCtrl

Klasa CPagerCtrl opakowuje kontrolkę stronicowania systemu Windows, która może przewijać do widoku zawartego okna, które nie pasuje do okna zawierającego.

Składnia

class CPagerCtrl : public CWnd

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CPagerCtrl::CPagerCtrl CPagerCtrl Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CPagerCtrl::Create Tworzy kontrolkę pagera z określonymi stylami i dołącza ją do bieżącego CPagerCtrl obiektu.
CPagerCtrl::CreateEx Tworzy kontrolkę pagera z określonymi stylami rozszerzonymi i dołącza ją do bieżącego CPagerCtrl obiektu.
CPagerCtrl::ForwardMouse Włącza lub wyłącza przekazywanie komunikatów WM_MOUSEMOVE do okna zawartego w bieżącej kontrolce pagera.
CPagerCtrl::GetBkColor Pobiera kolor tła bieżącej kontrolki pagera.
CPagerCtrl::GetBorder Pobiera rozmiar obramowania bieżącej kontrolki pager.
CPagerCtrl::GetButtonSize Pobiera rozmiar przycisku bieżącej kontrolki pagera.
CPagerCtrl::GetButtonState Pobiera stan określonego przycisku w bieżącej kontrolce pagera.
CPagerCtrl::GetDropTarget Pobiera interfejs IDropTarget dla bieżącej kontrolki pager.
CPagerCtrl::GetScrollPos Pobiera położenie przewijania bieżącej kontrolki pager.
CPagerCtrl::IsButtonDepressed Wskazuje, czy określony przycisk bieżącej kontrolki pager jest w pressed stanie.
CPagerCtrl::IsButtonGrayed Wskazuje, czy określony przycisk bieżącej kontrolki pager jest w grayed stanie.
CPagerCtrl::IsButtonHot Wskazuje, czy określony przycisk bieżącej kontrolki pager jest w hot stanie.
CPagerCtrl::IsButtonInvisible Wskazuje, czy określony przycisk bieżącej kontrolki pager jest w invisible stanie.
CPagerCtrl::IsButtonNormal Wskazuje, czy określony przycisk bieżącej kontrolki pager jest w normal stanie.
CPagerCtrl::RecalcSize Powoduje ponowne obliczenie rozmiaru zawartego okna przez bieżącą kontrolkę pagera.
CPagerCtrl::SetBkColor Ustawia kolor tła bieżącej kontrolki pager.
CPagerCtrl::SetBorder Ustawia rozmiar obramowania bieżącej kontrolki pager.
CPagerCtrl::SetButtonSize Ustawia rozmiar przycisku bieżącej kontrolki pager.
CPagerCtrl::SetChild Ustawia zawarte okno dla bieżącej kontrolki pager.
CPagerCtrl::SetScrollPos Ustawia położenie przewijania bieżącej kontrolki pagera.

Uwagi

Kontrolka pagera to okno zawierające inne okno, które jest liniowe i większe niż okno zawierające, i umożliwia przewinięcie zawartego okna do widoku. Kontrolka pager wyświetla dwa przyciski przewijania, które automatycznie znikają, gdy zawarte okno jest przewijane do najdalej w jego najszerszym zakresie, i pojawia się ponownie w przeciwnym razie. Możesz utworzyć kontrolkę pagera, która przewija się w poziomie lub w pionie.

Jeśli na przykład aplikacja ma pasek narzędzi, który nie jest wystarczająco szeroki, aby wyświetlić wszystkie jego elementy, możesz przypisać pasek narzędzi do kontrolki pagera, a użytkownicy będą mogli przewijać pasek narzędzi po lewej lub prawej stronie, aby uzyskać dostęp do wszystkich elementów. Program Microsoft Internet Explorer w wersji 4.0 (commctrl.dll w wersji 4.71) wprowadza kontrolkę pagera.

Klasa CPagerCtrl pochodzi z klasy CWnd . Aby uzyskać więcej informacji i ilustrację kontrolki pager, zobacz Kontrolki Pager.

Hierarchia dziedziczenia

Cobject

Ccmdtarget

Cwnd

CPagerCtrl

Wymagania

Nagłówek: afxcmn.h

CPagerCtrl::CPagerCtrl

CPagerCtrl Tworzy obiekt.

CPagerCtrl();

Uwagi

Użyj metody CPagerCtrl::Create lub CPagerCtrl::CreateEx, aby utworzyć kontrolkę pagera i dołączyć ją do CPagerCtrl obiektu.

CPagerCtrl::Create

Tworzy kontrolkę pagera z określonymi stylami i dołącza ją do bieżącego CPagerCtrl obiektu.

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

Parametry

Dwstyle
[in] Kombinacja bitowa (OR) stylów okien i stylów kontrolek stronicowania, które mają być stosowane do kontrolki.

Rect
[in] Odwołanie do struktury RECT zawierającej położenie i rozmiar kontrolki we współrzędnych klienta.

pParentWnd
[in] Wskaźnik do obiektu CWnd , który jest oknem nadrzędnym kontrolki. Ten parametr nie może mieć wartości NULL.

Nid
[in] Identyfikator kontrolki.

Wartość zwracana

Wartość TRUE, jeśli ta metoda zakończyła się pomyślnie; w przeciwnym razie, FAŁSZ.

Uwagi

Aby utworzyć kontrolkę pager, zadeklaruj zmienną, a następnie wywołaj metodę CPagerCtrl CPagerCtrl::Create lub CPagerCtrl::CreateEx w tej zmiennej.

Przykład

Poniższy przykład tworzy kontrolkę pager, a następnie używa metody CPagerCtrl::SetChild w celu skojarzenia bardzo długiej kontrolki przycisku z kontrolką pager. W tym przykładzie użyto metody CPagerCtrl::SetButtonSize , aby ustawić wysokość kontrolki pagera na 20 pikseli, a metodę CPagerCtrl::SetBorder , aby ustawić grubość obramowania na 1 piksel.

// 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

Tworzy kontrolkę pagera z określonymi stylami rozszerzonymi i dołącza ją do bieżącego CPagerCtrl obiektu.

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

Parametry

Dwexstyle
[in] Bitowa kombinacja stylów rozszerzonych, które mają być stosowane do kontrolki. Aby uzyskać więcej informacji, zobacz parametr dwExStyle funkcji CreateWindowEx.

Dwstyle
[in] Kombinacja bitowa (OR) stylów okien i stylów kontrolek stronicowania, które mają być stosowane do kontrolki.

Rect
[in] Odwołanie do struktury RECT zawierającej położenie i rozmiar kontrolki we współrzędnych klienta.

pParentWnd
[in] Wskaźnik do obiektu CWnd , który jest oknem nadrzędnym kontrolki. Ten parametr nie może mieć wartości NULL.

Nid
[in] Identyfikator kontrolki.

Wartość zwracana

Wartość TRUE, jeśli ta metoda zakończyła się pomyślnie; w przeciwnym razie, FAŁSZ.

Uwagi

Aby utworzyć kontrolkę pager, zadeklaruj zmienną, a następnie wywołaj metodę CPagerCtrl CPagerCtrl::Create lub CPagerCtrl::CreateEx w tej zmiennej.

CPagerCtrl::ForwardMouse

Włącza lub wyłącza przekazywanie komunikatów WM_MOUSEMOVE do okna zawartego w bieżącej kontrolce pagera.

void ForwardMouse(BOOL bForward);

Parametry

bForward
[in] WARTOŚĆ TRUE do przekazywania komunikatów myszy lub FALSE, aby nie przekazywać komunikatów myszy.

Uwagi

Ta metoda wysyła komunikat PGM_FORWARDMOUSE opisany w zestawie Windows SDK.

CPagerCtrl::GetBorder

Pobiera rozmiar obramowania bieżącej kontrolki pager.

int GetBorder() const;

Wartość zwracana

Bieżący rozmiar obramowania mierzony w pikselach.

Uwagi

Ta metoda wysyła komunikat PGM_GETBORDER opisany w zestawie Windows SDK.

Przykład

W poniższym przykładzie użyto metody CPagerCtrl::GetBorder w celu pobrania grubości obramowania kontrolki pager.

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

Pobiera kolor tła bieżącej kontrolki pagera.

COLORREF GetBkColor() const;

Wartość zwracana

Wartość COLORREF zawierająca bieżący kolor tła kontrolki pager.

Uwagi

Ta metoda wysyła komunikat PGM_GETBKCOLOR opisany w zestawie Windows SDK.

Przykład

W poniższym przykładzie użyto metody CPagerCtrl::SetBkColor , aby ustawić kolor tła kontrolki pager na czerwony, a metodę CPagerCtrl::GetBkColor , aby potwierdzić, że wprowadzono zmianę.

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

Pobiera rozmiar przycisku bieżącej kontrolki pagera.

int GetButtonSize() const;

Wartość zwracana

Bieżący rozmiar przycisku mierzony w pikselach.

Uwagi

Ta metoda wysyła komunikat PGM_GETBUTTONSIZE opisany w zestawie Windows SDK.

Jeśli kontrolka pagera ma styl PGS_HORZ, rozmiar przycisku określa szerokość przycisków pagera, a jeśli kontrolka pagera ma styl PGS_VERT, rozmiar przycisku określa wysokość przycisków pagera. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

CPagerCtrl::GetButtonState

Pobiera stan określonego przycisku przewijania w bieżącej kontrolce pagera.

DWORD GetButtonState(int iButton) const;

Parametry

iButton
[in] Wskazuje przycisk, dla którego jest pobierany stan. Jeśli styl kontrolki pagera jest PGS_HORZ, określ PGB_TOPORLEFT dla lewego przycisku i PGB_BOTTOMORRIGHT dla prawego przycisku. Jeśli styl kontrolki pagera jest PGS_VERT, określ PGB_TOPORLEFT dla górnego przycisku i PGB_BOTTOMORRIGHT dla dolnego przycisku. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Wartość zwracana

Stan przycisku określonego przez parametr iButton . Stan to PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED lub PGF_HOT. Aby uzyskać więcej informacji, zobacz sekcję Wartość zwracana w komunikacie PGM_GETBUTTONSTATE .

Uwagi

Ta metoda wysyła komunikat PGM_GETBUTTONSTATE opisany w zestawie Windows SDK.

CPagerCtrl::GetDropTarget

Pobiera interfejs IDropTarget dla bieżącej kontrolki pager.

IDropTarget* GetDropTarget() const;

Wartość zwracana

Wskaźnik do interfejsu IDropTarget dla bieżącej kontrolki pager.

Uwagi

IDropTarget jest jednym z interfejsów, które implementujesz w celu obsługi operacji przeciągania i upuszczania w aplikacji.

Ta metoda wysyła komunikat PGM_GETDROPTARGET opisany w zestawie Windows SDK. Obiekt wywołujący tej metody jest odpowiedzialny za wywołanie Release elementu członkowskiego interfejsu IDropTarget , gdy interfejs nie jest już potrzebny.

CPagerCtrl::GetScrollPos

Pobiera położenie przewijania bieżącej kontrolki pager.

int GetScrollPos() const;

Wartość zwracana

Bieżąca pozycja przewijania mierzona w pikselach.

Uwagi

Ta metoda wysyła komunikat PGM_GETPOS opisany w zestawie Windows SDK.

Przykład

W poniższym przykładzie użyto metody CPagerCtrl::GetScrollPos w celu pobrania bieżącej pozycji przewijania kontrolki pager. Jeśli kontrolka pager nie została jeszcze przewinięta do zera, najdalej po lewej stronie użyto metody CPagerCtrl::SetScrollPos , aby ustawić położenie przewijania na zero.

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

Wskazuje, czy określony przycisk przewijania bieżącej kontrolki pager jest w stanie naciśnięcia.

BOOL IsButtonDepressed(int iButton) const;

Parametry

iButton
[in] Wskazuje przycisk, dla którego jest pobierany stan. Jeśli styl kontrolki pagera jest PGS_HORZ, określ PGB_TOPORLEFT dla lewego przycisku i PGB_BOTTOMORRIGHT dla prawego przycisku. Jeśli styl kontrolki pagera jest PGS_VERT, określ PGB_TOPORLEFT dla górnego przycisku i PGB_BOTTOMORRIGHT dla dolnego przycisku. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Wartość zwracana

WARTOŚĆ TRUE, jeśli określony przycisk jest w stanie naciśnięcia; w przeciwnym razie, FAŁSZ.

Uwagi

Ta metoda wysyła komunikat PGM_GETBUTTONSTATE opisany w zestawie Windows SDK. Następnie sprawdza, czy zwracany stan jest PGF_DEPRESSED. Aby uzyskać więcej informacji, zobacz sekcję Wartość zwracana w komunikacie PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonGrayed

Wskazuje, czy określony przycisk przewijania bieżącej kontrolki pager jest w stanie szarym.

BOOL IsButtonGrayed(int iButton) const;

Parametry

iButton
[in] Wskazuje przycisk, dla którego jest pobierany stan. Jeśli styl kontrolki pagera jest PGS_HORZ, określ PGB_TOPORLEFT dla lewego przycisku i PGB_BOTTOMORRIGHT dla prawego przycisku. Jeśli styl kontrolki pagera jest PGS_VERT, określ PGB_TOPORLEFT dla górnego przycisku i PGB_BOTTOMORRIGHT dla dolnego przycisku. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Wartość zwracana

WARTOŚĆ TRUE, jeśli określony przycisk jest w stanie szarym; w przeciwnym razie, FAŁSZ.

Uwagi

Ta metoda wysyła komunikat PGM_GETBUTTONSTATE opisany w zestawie Windows SDK. Następnie sprawdza, czy zwracany stan jest PGF_GRAYED. Aby uzyskać więcej informacji, zobacz sekcję Wartość zwracana w komunikacie PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonHot

Wskazuje, czy określony przycisk przewijania bieżącej kontrolki pager jest w stanie gorąca.

BOOL IsButtonHot(int iButton) const;

Parametry

iButton
[in] Wskazuje przycisk, dla którego jest pobierany stan. Jeśli styl kontrolki pagera jest PGS_HORZ, określ PGB_TOPORLEFT dla lewego przycisku i PGB_BOTTOMORRIGHT dla prawego przycisku. Jeśli styl kontrolki pagera jest PGS_VERT, określ PGB_TOPORLEFT dla górnego przycisku i PGB_BOTTOMORRIGHT dla dolnego przycisku. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Wartość zwracana

WARTOŚĆ TRUE, jeśli określony przycisk jest w stanie gorąca; w przeciwnym razie, FAŁSZ.

Uwagi

Ta metoda wysyła komunikat PGM_GETBUTTONSTATE opisany w zestawie Windows SDK. Następnie sprawdza, czy zwracany stan jest PGF_HOT. Aby uzyskać więcej informacji, zobacz sekcję Wartość zwracana w komunikacie PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonInvisible

Wskazuje, czy określony przycisk przewijania bieżącej kontrolki pagera jest w stanie niewidocznym.

BOOL IsButtonInvisible(int iButton) const;

Parametry

iButton
[in] Wskazuje przycisk, dla którego jest pobierany stan. Jeśli styl kontrolki pagera jest PGS_HORZ, określ PGB_TOPORLEFT dla lewego przycisku i PGB_BOTTOMORRIGHT dla prawego przycisku. Jeśli styl kontrolki pagera jest PGS_VERT, określ PGB_TOPORLEFT dla górnego przycisku i PGB_BOTTOMORRIGHT dla dolnego przycisku. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Wartość zwracana

WARTOŚĆ TRUE, jeśli określony przycisk jest w stanie niewidocznym; w przeciwnym razie, FAŁSZ.

Uwagi

System Windows sprawia, że przycisk przewijania w określonym kierunku jest niewidoczny, gdy zawarte okno jest przewijane do najdalej, ponieważ kliknięcie przycisku dalej nie może spowodować wyświetlenia większej liczby zawartych okien.

Ta metoda wysyła komunikat PGM_GETBUTTONSTATE opisany w zestawie Windows SDK. Następnie sprawdza, czy zwracany stan jest PGF_INVISIBLE. Aby uzyskać więcej informacji, zobacz sekcję Wartość zwracana w komunikacie PGM_GETBUTTONSTATE .

Przykład

W poniższym przykładzie użyto metody CPagerCtrl::IsButtonInvisible , aby określić, czy przyciski przewijania kontrolki pagera są widoczne.


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

Wskazuje, czy określony przycisk przewijania bieżącej kontrolki pager jest w normalnym stanie.

BOOL IsButtonNormal(int iButton) const;

Parametry

iButton
[in] Wskazuje przycisk, dla którego jest pobierany stan. Jeśli styl kontrolki pagera jest PGS_HORZ, określ PGB_TOPORLEFT dla lewego przycisku i PGB_BOTTOMORRIGHT dla prawego przycisku. Jeśli styl kontrolki pagera jest PGS_VERT, określ PGB_TOPORLEFT dla górnego przycisku i PGB_BOTTOMORRIGHT dla dolnego przycisku. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Wartość zwracana

WARTOŚĆ TRUE, jeśli określony przycisk jest w normalnym stanie; w przeciwnym razie, FAŁSZ.

Uwagi

Ta metoda wysyła komunikat PGM_GETBUTTONSTATE opisany w zestawie Windows SDK. Następnie sprawdza, czy zwracany stan jest PGF_NORMAL. Aby uzyskać więcej informacji, zobacz sekcję Wartość zwracana w komunikacie PGM_GETBUTTONSTATE .

CPagerCtrl::RecalcSize

Powoduje ponowne obliczenie rozmiaru zawartego okna przez bieżącą kontrolkę pagera.

void RecalcSize();

Uwagi

Ta metoda wysyła komunikat PGM_RECALCSIZE opisany w zestawie Windows SDK. W związku z tym kontrolka pager wysyła powiadomienie PGN_CALCSIZE w celu uzyskania przewijanych wymiarów zawartego okna.

Przykład 1

W poniższym przykładzie użyto metody CPagerCtrl::RecalcSize , aby zażądać bieżącej kontrolki pagera w celu ponownego obliczenia rozmiaru.

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

Przykład 2

W poniższym przykładzie użyto odbicia komunikatu, aby umożliwić kontrolce pager ponowne obliczenie własnego rozmiaru zamiast wymagać okna dialogowego nadrzędnego kontrolki do wykonania obliczeń. Przykład pochodzi MyPagerCtrl z klasy CPagerCtrl, a następnie używa mapy komunikatów do skojarzenia powiadomienia PGN_CALCSIZE z OnCalcsize programem obsługi powiadomień. W tym przykładzie program obsługi powiadomień ustawia szerokość i wysokość kontrolki pager na stałe wartości.

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

Ustawia kolor tła bieżącej kontrolki pager.

COLORREF SetBkColor(COLORREF clrBk);

Parametry

clrBk
[in] Wartość COLORREF zawierająca nowy kolor tła kontrolki pager.

Wartość zwracana

Wartość COLORREF zawierająca poprzedni kolor tła kontrolki pager.

Uwagi

Ta metoda wysyła komunikat PGM_SETBKCOLOR opisany w zestawie WINDOWS SDK.

Przykład

W poniższym przykładzie użyto metody CPagerCtrl::SetBkColor , aby ustawić kolor tła kontrolki pager na czerwony, a metodę CPagerCtrl::GetBkColor , aby potwierdzić, że wprowadzono zmianę.

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

Ustawia rozmiar obramowania bieżącej kontrolki pager.

int SetBorder(int iBorder);

Parametry

iBorder
[in] Nowy rozmiar obramowania mierzony w pikselach. Jeśli parametr iBorder jest ujemny, rozmiar obramowania jest ustawiony na zero.

Wartość zwracana

Poprzedni rozmiar obramowania mierzony w pikselach.

Uwagi

Ta metoda wysyła komunikat PGM_SETBORDER opisany w zestawie Windows SDK.

Przykład

Poniższy przykład tworzy kontrolkę pager, a następnie używa metody CPagerCtrl::SetChild w celu skojarzenia bardzo długiej kontrolki przycisku z kontrolką pager. W tym przykładzie użyto metody CPagerCtrl::SetButtonSize , aby ustawić wysokość kontrolki pagera na 20 pikseli, a metodę CPagerCtrl::SetBorder , aby ustawić grubość obramowania na 1 piksel.

// 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

Ustawia rozmiar przycisku bieżącej kontrolki pager.

int SetButtonSize(int iButtonSize);

Parametry

iButtonSize
[in] Nowy rozmiar przycisku mierzony w pikselach.

Wartość zwracana

Poprzedni rozmiar przycisku mierzony w pikselach.

Uwagi

Ta metoda wysyła komunikat PGM_SETBUTTONSIZE opisany w zestawie Windows SDK.

Jeśli kontrolka pagera ma styl PGS_HORZ, rozmiar przycisku określa szerokość przycisków pagera, a jeśli kontrolka pagera ma styl PGS_VERT, rozmiar przycisku określa wysokość przycisków pagera. Domyślny rozmiar przycisku to trzy czwarte szerokości paska przewijania, a minimalny rozmiar przycisku to 12 pikseli. Aby uzyskać więcej informacji, zobacz Pager Control Styles (Style kontrolek pager).

Przykład

Poniższy przykład tworzy kontrolkę pager, a następnie używa metody CPagerCtrl::SetChild w celu skojarzenia bardzo długiej kontrolki przycisku z kontrolką pager. W tym przykładzie użyto metody CPagerCtrl::SetButtonSize , aby ustawić wysokość kontrolki pagera na 20 pikseli, a metodę CPagerCtrl::SetBorder , aby ustawić grubość obramowania na 1 piksel.

// 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

Ustawia zawarte okno dla bieżącej kontrolki pager.

void SetChild(HWND hwndChild);

Parametry

hwndChild
[in] Dojście do okna, które ma być zawarte.

Uwagi

Ta metoda wysyła komunikat PGM_SETCHILD opisany w zestawie WINDOWS SDK.

Ta metoda nie zmienia elementu nadrzędnego zawartego okna; przypisuje tylko uchwyt okna do kontrolki pager do przewijania. W większości przypadków zawarte okno będzie częścią podrzędną kontrolki pager.

Przykład

Poniższy przykład tworzy kontrolkę pager, a następnie używa metody CPagerCtrl::SetChild w celu skojarzenia bardzo długiej kontrolki przycisku z kontrolką pager. W tym przykładzie użyto metody CPagerCtrl::SetButtonSize , aby ustawić wysokość kontrolki pagera na 20 pikseli, a metodę CPagerCtrl::SetBorder , aby ustawić grubość obramowania na 1 piksel.

// 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

Ustawia położenie przewijania bieżącej kontrolki pagera.

void SetScrollPos(int iPos);

Parametry

Ipos
[in] Nowa pozycja przewijania mierzona w pikselach.

Uwagi

Ta metoda wysyła komunikat PGM_SETPOS opisany w zestawie Windows SDK.

Zobacz też

Klasa CPagerCtrl
Wykres hierarchii
Kontrolki Pager