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
Elementy członkowskie
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ę stronicowania.
Klasa CPagerCtrl
pochodzi z klasy CWnd . Aby uzyskać więcej informacji i ilustrację kontrolki pager, zobacz Kontrolki Pager.
Hierarchia dziedziczenia
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.