CPagerCtrl – třída
Třída CPagerCtrl
zabalí ovládací prvek Pager systému Windows, který se může posunout do zobrazení obsaženého okna, které se nevejde do okna obsahujícího.
Syntaxe
class CPagerCtrl : public CWnd
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CPagerCtrl::CPagerCtrl | CPagerCtrl Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CPagerCtrl::Create | Vytvoří ovládací prvek pager se zadanými styly a připojí ho k aktuálnímu CPagerCtrl objektu. |
CPagerCtrl::CreateEx | Vytvoří ovládací prvek pager se zadanými rozšířenými styly a připojí ho k aktuálnímu CPagerCtrl objektu. |
CPagerCtrl::ForwardMouse | Povolí nebo zakáže přeposílání WM_MOUSEMOVE zpráv do okna, které je obsaženo v aktuálním ovládacím prvku pager. |
CPagerCtrl::GetBkColor | Načte barvu pozadí aktuálního ovládacího prvku pager. |
CPagerCtrl::GetBorder | Načte velikost ohraničení aktuálního ovládacího prvku pager. |
CPagerCtrl::GetButtonSize | Načte velikost tlačítka aktuálního ovládacího prvku pager. |
CPagerCtrl::GetButtonState | Načte stav zadaného tlačítka v aktuálním ovládacím prvku pager. |
CPagerCtrl::GetDropTarget | Načte rozhraní IDropTarget pro aktuální ovládací prvek pager. |
CPagerCtrl::GetScrollPos | Načte pozici posouvání aktuálního ovládacího prvku pager. |
CPagerCtrl::IsButtonDepressed | Určuje, jestli je zadané tlačítko aktuálního ovládacího prvku pager ve pressed stavu. |
CPagerCtrl::IsButtonGrayed | Určuje, jestli je zadané tlačítko aktuálního ovládacího prvku pager ve grayed stavu. |
CPagerCtrl::IsButtonHot | Určuje, jestli je zadané tlačítko aktuálního ovládacího prvku pager ve hot stavu. |
CPagerCtrl::IsButtonInvisible | Určuje, jestli je zadané tlačítko aktuálního ovládacího prvku pager ve invisible stavu. |
CPagerCtrl::IsButtonNormal | Určuje, jestli je zadané tlačítko aktuálního ovládacího prvku pager ve normal stavu. |
CPagerCtrl::RecalcSize | Způsobí, že aktuální ovládací prvek pager přepočítá velikost obsaženého okna. |
CPagerCtrl::SetBkColor | Nastaví barvu pozadí aktuálního ovládacího prvku pager. |
CPagerCtrl::SetBorder | Nastaví velikost ohraničení aktuálního ovládacího prvku pager. |
CPagerCtrl::SetButtonSize | Nastaví velikost tlačítka aktuálního ovládacího prvku pager. |
CPagerCtrl::SetChild | Nastaví obsažené okno pro aktuální ovládací prvek pager. |
CPagerCtrl::SetScrollPos | Nastaví pozici posouvání aktuálního ovládacího prvku pager. |
Poznámky
Ovládací prvek Pager je okno, které obsahuje jiné okno, které je lineární a větší než okno obsahující, a umožňuje posouvání obsaženého okna do zobrazení. Ovládací prvek Pager zobrazí dvě posuvníková tlačítka, která automaticky zmizí, když se okno s obsahem posune na nejbližší rozsah, a v opačném případě se znovu zobrazí. Můžete vytvořit ovládací prvek pager, který se posune vodorovně nebo svisle.
Pokud má vaše aplikace například panel nástrojů, který není dostatečně široký, aby se zobrazily všechny její položky, můžete panel nástrojů přiřadit ovládacímu prvku pager a uživatelé se budou moct posouvat na panel nástrojů doleva nebo doprava, aby měli přístup ke všem položkám. Microsoft Internet Explorer verze 4.0 (commctrl.dll verze 4.71) zavádí ovládací prvek pager.
Třída CPagerCtrl
je odvozena z CWnd třídy. Další informace a ilustraci ovládacího prvku pager naleznete v tématu Ovládací prvky Pager.
Hierarchie dědičnosti
CPagerCtrl
Požadavky
Hlavička: afxcmn.h
CPagerCtrl::CPagerCtrl
CPagerCtrl
Vytvoří objekt.
CPagerCtrl();
Poznámky
Pomocí metody CPagerCtrl::Create nebo CPagerCtrl::CreateEx vytvořte ovládací prvek pager a připojte ho k objektuCPagerCtrl
.
CPagerCtrl::Create
Vytvoří ovládací prvek pager se zadanými styly a připojí ho k aktuálnímu CPagerCtrl
objektu.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwStyle
[v] Bitová kombinace (OR) stylů oken a stylů ovládacích prvků pager, které se mají použít u ovládacího prvku.
Rect
[v] Odkaz na strukturu RECT , která obsahuje pozici a velikost ovládacího prvku v souřadnicích klienta.
pParentWnd
[v] Ukazatel na objekt CWnd , který je nadřazeným oknem ovládacího prvku. Tento parametr nemůže být NULL.
Nid
[v] ID ovládacího prvku.
Návratová hodnota
TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.
Poznámky
Chcete-li vytvořit ovládací prvek pager, deklarujte proměnnou CPagerCtrl
a potom volejte metodu CPagerCtrl::Create nebo CPagerCtrl::CreateEx pro danou proměnnou.
Příklad
Následující příklad vytvoří pager ovládací prvek, pak používá CPagerCtrl::SetChild metoda přidružení velmi dlouhé tlačítko ovládací prvek s pager ovládací prvek. Příklad pak použije CPagerCtrl::SetButtonSize metoda nastavit výšku ovládacího prvku pager na 20 pixelů a CPagerCtrl::SetBorder metoda nastavit tloušťku ohraničení na 1 pixel.
// 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
Vytvoří ovládací prvek pager se zadanými rozšířenými styly a připojí ho k aktuálnímu CPagerCtrl
objektu.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwExStyle
[v] Bitová kombinace rozšířených stylů, které se mají použít u ovládacího prvku. Další informace naleznete v dwExStyle parametr CreateWindowExEx funkce.
dwStyle
[v] Bitová kombinace (OR) stylů oken a stylů ovládacích prvků pager, které se mají použít u ovládacího prvku.
Rect
[v] Odkaz na strukturu RECT , která obsahuje pozici a velikost ovládacího prvku v souřadnicích klienta.
pParentWnd
[v] Ukazatel na objekt CWnd , který je nadřazeným oknem ovládacího prvku. Tento parametr nemůže být NULL.
Nid
[v] ID ovládacího prvku.
Návratová hodnota
TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.
Poznámky
Chcete-li vytvořit ovládací prvek pager, deklarujte proměnnou CPagerCtrl
a potom volejte metodu CPagerCtrl::Create nebo CPagerCtrl::CreateEx pro danou proměnnou.
CPagerCtrl::ForwardMouse
Povolí nebo zakáže přeposílání WM_MOUSEMOVE zpráv do okna, které je obsaženo v aktuálním ovládacím prvku pager.
void ForwardMouse(BOOL bForward);
Parametry
bForward
[v] HODNOTA TRUE pro přeposílání zpráv myši nebo NEPRAVDA, aby nepřeposílaly zprávy myši.
Poznámky
Tato metoda odešle PGM_FORWARDMOUSE zprávu, která je popsaná v sadě Windows SDK.
CPagerCtrl::GetBorder
Načte velikost ohraničení aktuálního ovládacího prvku pager.
int GetBorder() const;
Návratová hodnota
Aktuální velikost ohraničení měřená v pixelech.
Poznámky
Tato metoda odešle PGM_GETBORDER zprávu, která je popsaná v sadě Windows SDK.
Příklad
Následující příklad používá CPagerCtrl::GetBorder metoda načtení tloušťky ovládacího prvku pager ohraničení.
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
Načte barvu pozadí aktuálního ovládacího prvku pager.
COLORREF GetBkColor() const;
Návratová hodnota
Hodnota COLORREF , která obsahuje aktuální barvu pozadí ovládacího prvku pager.
Poznámky
Tato metoda odešle PGM_GETBKCOLOR zprávu, která je popsaná v sadě Windows SDK.
Příklad
Následující příklad používá CPagerCtrl::SetBkColor metoda nastavit barvu pozadí pager ovládacího prvku červená a CPagerCtrl::GetBkColor metoda potvrdit, že došlo k provedení změny.
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
Načte velikost tlačítka aktuálního ovládacího prvku pager.
int GetButtonSize() const;
Návratová hodnota
Aktuální velikost tlačítka měřená v pixelech.
Poznámky
Tato metoda odešle PGM_GETBUTTONSIZE zprávu, která je popsaná v sadě Windows SDK.
Pokud má ovládací prvek pager styl PGS_HORZ, velikost tlačítka určuje šířku tlačítek pageru a pokud má ovládací prvek pager styl PGS_VERT, velikost tlačítka určuje výšku tlačítek pageru. Další informace naleznete v tématu Styly ovládacího prvku Pager.
CPagerCtrl::GetButtonState
Načte stav zadaného tlačítka posuvníku v aktuálním ovládacím prvku pager.
DWORD GetButtonState(int iButton) const;
Parametry
iButton
[v] Označuje tlačítko, pro které se stav načte. Pokud je styl ovládacího prvku pager PGS_HORZ, zadejte PGB_TOPORLEFT levého tlačítka a PGB_BOTTOMORRIGHT pravého tlačítka. Pokud je styl ovládacího prvku pager PGS_VERT, zadejte PGB_TOPORLEFT pro horní tlačítko a PGB_BOTTOMORRIGHT dolního tlačítka. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Návratová hodnota
Stav tlačítka určeného parametrem iButton . Stav je buď PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED nebo PGF_HOT. Další informace najdete v části Návratová hodnota PGM_GETBUTTONSTATE zprávy.
Poznámky
Tato metoda odešle PGM_GETBUTTONSTATE zprávu, která je popsaná v sadě Windows SDK.
CPagerCtrl::GetDropTarget
Načte rozhraní IDropTarget pro aktuální ovládací prvek pager.
IDropTarget* GetDropTarget() const;
Návratová hodnota
Ukazatel na IDropTarget
rozhraní aktuálního ovládacího prvku pager.
Poznámky
IDropTarget
je jedním z rozhraní, která implementujete pro podporu operací přetažení do aplikace.
Tato metoda odešle PGM_GETDROPTARGET zprávu, která je popsaná v sadě Windows SDK. Volající této metody zodpovídá za volání Release
člena rozhraní IDropTarget , pokud rozhraní už není potřeba.
CPagerCtrl::GetScrollPos
Načte pozici posouvání aktuálního ovládacího prvku pager.
int GetScrollPos() const;
Návratová hodnota
Aktuální pozice posouvání měřená v pixelech.
Poznámky
Tato metoda odešle PGM_GETPOS zprávu, která je popsaná v sadě Windows SDK.
Příklad
Následující příklad používá CPagerCtrl::GetScrollPos metoda načtení aktuální pozice posouvání pager ovládacího prvku. Pokud ovládací prvek pager není již posunut na nulu, pozice úplně vlevo, příklad používá CPagerCtrl::SetScrollPos metoda nastavit pozici posouvání na nulu.
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
Určuje, zda je zadané tlačítko posuvníku aktuálního ovládacího prvku pager ve stavu stisknutí.
BOOL IsButtonDepressed(int iButton) const;
Parametry
iButton
[v] Označuje tlačítko, pro které se stav načte. Pokud je styl ovládacího prvku pager PGS_HORZ, zadejte PGB_TOPORLEFT levého tlačítka a PGB_BOTTOMORRIGHT pravého tlačítka. Pokud je styl ovládacího prvku pager PGS_VERT, zadejte PGB_TOPORLEFT pro horní tlačítko a PGB_BOTTOMORRIGHT dolního tlačítka. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Návratová hodnota
TRUE, pokud je zadané tlačítko v stisknutém stavu; jinak NEPRAVDA.
Poznámky
Tato metoda odešle PGM_GETBUTTONSTATE zprávu, která je popsaná v sadě Windows SDK. Potom otestuje, jestli je vrácený stav PGF_DEPRESSED. Další informace najdete v části Návratová hodnota PGM_GETBUTTONSTATE zprávy.
CPagerCtrl::IsButtonGrayed
Určuje, jestli je zadané posuvníkové tlačítko aktuálního ovládacího prvku Pager v šedém stavu.
BOOL IsButtonGrayed(int iButton) const;
Parametry
iButton
[v] Označuje tlačítko, pro které se stav načte. Pokud je styl ovládacího prvku pager PGS_HORZ, zadejte PGB_TOPORLEFT levého tlačítka a PGB_BOTTOMORRIGHT pravého tlačítka. Pokud je styl ovládacího prvku pager PGS_VERT, zadejte PGB_TOPORLEFT pro horní tlačítko a PGB_BOTTOMORRIGHT dolního tlačítka. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Návratová hodnota
TRUE, pokud je zadané tlačítko v šedém stavu; jinak NEPRAVDA.
Poznámky
Tato metoda odešle PGM_GETBUTTONSTATE zprávu, která je popsaná v sadě Windows SDK. Potom otestuje, jestli je vrácený stav PGF_GRAYED. Další informace najdete v části Návratová hodnota PGM_GETBUTTONSTATE zprávy.
CPagerCtrl::IsButtonHot
Určuje, jestli je zadané posuvníkové tlačítko aktuálního ovládacího prvku pager v horkém stavu.
BOOL IsButtonHot(int iButton) const;
Parametry
iButton
[v] Označuje tlačítko, pro které se stav načte. Pokud je styl ovládacího prvku pager PGS_HORZ, zadejte PGB_TOPORLEFT levého tlačítka a PGB_BOTTOMORRIGHT pravého tlačítka. Pokud je styl ovládacího prvku pager PGS_VERT, zadejte PGB_TOPORLEFT pro horní tlačítko a PGB_BOTTOMORRIGHT dolního tlačítka. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Návratová hodnota
TRUE, pokud je zadané tlačítko v horkém stavu; jinak NEPRAVDA.
Poznámky
Tato metoda odešle PGM_GETBUTTONSTATE zprávu, která je popsaná v sadě Windows SDK. Potom otestuje, jestli je vrácený stav PGF_HOT. Další informace najdete v části Návratová hodnota PGM_GETBUTTONSTATE zprávy.
CPagerCtrl::IsButtonInvisible
Určuje, zda je zadané posuvníkové tlačítko aktuálního ovládacího prvku pager v neviditelném stavu.
BOOL IsButtonInvisible(int iButton) const;
Parametry
iButton
[v] Označuje tlačítko, pro které se stav načte. Pokud je styl ovládacího prvku pager PGS_HORZ, zadejte PGB_TOPORLEFT levého tlačítka a PGB_BOTTOMORRIGHT pravého tlačítka. Pokud je styl ovládacího prvku pager PGS_VERT, zadejte PGB_TOPORLEFT pro horní tlačítko a PGB_BOTTOMORRIGHT dolního tlačítka. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Návratová hodnota
TRUE, pokud zadané tlačítko je v neviditelném stavu; jinak NEPRAVDA.
Poznámky
Když je okno obsaženého okna posunuté do nejdáhlejšího rozsahu, windows tlačítko posouvání v určitém směru zneviditelní, protože kliknutím na tlačítko dále nelze přenést více z obsaženého okna do zobrazení.
Tato metoda odešle PGM_GETBUTTONSTATE zprávu, která je popsaná v sadě Windows SDK. Potom otestuje, jestli je vrácený stav PGF_INVISIBLE. Další informace najdete v části Návratová hodnota PGM_GETBUTTONSTATE zprávy.
Příklad
Následující příklad používá CPagerCtrl::IsButtonInvisible metoda k určení, zda jsou tlačítka pager ovládací prvek vlevo a vpravo viditelné.
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
Určuje, jestli je zadané posuvníkové tlačítko aktuálního ovládacího prvku pager v normálním stavu.
BOOL IsButtonNormal(int iButton) const;
Parametry
iButton
[v] Označuje tlačítko, pro které se stav načte. Pokud je styl ovládacího prvku pager PGS_HORZ, zadejte PGB_TOPORLEFT levého tlačítka a PGB_BOTTOMORRIGHT pravého tlačítka. Pokud je styl ovládacího prvku pager PGS_VERT, zadejte PGB_TOPORLEFT pro horní tlačítko a PGB_BOTTOMORRIGHT dolního tlačítka. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Návratová hodnota
TRUE, pokud je zadané tlačítko v normálním stavu; jinak NEPRAVDA.
Poznámky
Tato metoda odešle PGM_GETBUTTONSTATE zprávu, která je popsaná v sadě Windows SDK. Potom otestuje, jestli je vrácený stav PGF_NORMAL. Další informace najdete v části Návratová hodnota PGM_GETBUTTONSTATE zprávy.
CPagerCtrl::RecalcSize
Způsobí, že aktuální ovládací prvek pager přepočítá velikost obsaženého okna.
void RecalcSize();
Poznámky
Tato metoda odešle PGM_RECALCSIZE zprávu, která je popsaná v sadě Windows SDK. V důsledku toho ovládací prvek pager odešle PGN_CALCSIZE oznámení, aby získal posuvné rozměry obsaženého okna.
Příklad 1
Následující příklad používá metodu CPagerCtrl::RecalcSize k vyžádání aktuálního ovládacího prvku pager k přepočtu jeho velikosti.
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."));
}
Příklad 2
Následující příklad používá reflexi zprávy k tomu, aby ovládací prvek pager přepočítal svou vlastní velikost, místo aby vyžadoval nadřazené dialogové okno ovládacího prvku k provedení výpočtu. Příklad odvozuje MyPagerCtrl
třídu z CPagerCtrl třídy a pak pomocí mapy zpráv přidruží PGN_CALCSIZE oznámení k obslužné rutině OnCalcsize
oznámení. V tomto příkladu obslužná rutina oznámení nastaví šířku a výšku ovládacího prvku pager na pevné hodnoty.
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
Nastaví barvu pozadí aktuálního ovládacího prvku pager.
COLORREF SetBkColor(COLORREF clrBk);
Parametry
clrBk
[v] Hodnota COLORREF , která obsahuje novou barvu pozadí ovládacího prvku pager.
Návratová hodnota
Hodnota COLORREF, která obsahuje předchozí barvu pozadí ovládacího prvku pager.
Poznámky
Tato metoda odešle PGM_SETBKCOLOR zprávu, která je popsaná v sadě Windows SDK.
Příklad
Následující příklad používá CPagerCtrl::SetBkColor metoda nastavit barvu pozadí pager ovládacího prvku červená a CPagerCtrl::GetBkColor metoda potvrdit, že došlo k provedení změny.
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
Nastaví velikost ohraničení aktuálního ovládacího prvku pager.
int SetBorder(int iBorder);
Parametry
iBorder
[v] Nová velikost ohraničení měřená v pixelech. Pokud je parametr iBorder záporný, je velikost ohraničení nastavená na nulu.
Návratová hodnota
Předchozí velikost ohraničení měřená v pixelech.
Poznámky
Tato metoda odešle PGM_SETBORDER zprávu, která je popsaná v sadě Windows SDK.
Příklad
Následující příklad vytvoří pager ovládací prvek, pak používá CPagerCtrl::SetChild metoda přidružení velmi dlouhé tlačítko ovládací prvek s pager ovládací prvek. Příklad pak použije CPagerCtrl::SetButtonSize metoda nastavit výšku ovládacího prvku pager na 20 pixelů a CPagerCtrl::SetBorder metoda nastavit tloušťku ohraničení na 1 pixel.
// 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
Nastaví velikost tlačítka aktuálního ovládacího prvku pager.
int SetButtonSize(int iButtonSize);
Parametry
iButtonSize
[v] Nová velikost tlačítka měřená v pixelech.
Návratová hodnota
Velikost předchozího tlačítka měřená v pixelech.
Poznámky
Tato metoda odešle PGM_SETBUTTONSIZE zprávu, která je popsaná v sadě Windows SDK.
Pokud má ovládací prvek pager styl PGS_HORZ, velikost tlačítka určuje šířku tlačítek pageru a pokud má ovládací prvek pager styl PGS_VERT, velikost tlačítka určuje výšku tlačítek pageru. Výchozí velikost tlačítka je tři čtvrtiny šířky posuvníku a minimální velikost tlačítka je 12 pixelů. Další informace naleznete v tématu Styly ovládacího prvku Pager.
Příklad
Následující příklad vytvoří pager ovládací prvek, pak používá CPagerCtrl::SetChild metoda přidružení velmi dlouhé tlačítko ovládací prvek s pager ovládací prvek. Příklad pak použije CPagerCtrl::SetButtonSize metoda nastavit výšku ovládacího prvku pager na 20 pixelů a CPagerCtrl::SetBorder metoda nastavit tloušťku ohraničení na 1 pixel.
// 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
Nastaví obsažené okno pro aktuální ovládací prvek pager.
void SetChild(HWND hwndChild);
Parametry
hwndChild
[v] Úchyt pro okno, které má být obsaženo.
Poznámky
Tato metoda odešle zprávu PGM_SETCHILD , která je popsaná v sadě Windows SDK.
Tato metoda nezmění nadřazený prvek obsaženého okna; přiřazuje ovládacímu prvku pager pouze úchyt okna pro posouvání. Ve většině případů bude obsažené okno podřízeným oknem ovládacího prvku pager.
Příklad
Následující příklad vytvoří pager ovládací prvek, pak používá CPagerCtrl::SetChild metoda přidružení velmi dlouhé tlačítko ovládací prvek s pager ovládací prvek. Příklad pak použije CPagerCtrl::SetButtonSize metoda nastavit výšku ovládacího prvku pager na 20 pixelů a CPagerCtrl::SetBorder metoda nastavit tloušťku ohraničení na 1 pixel.
// 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
Nastaví pozici posouvání aktuálního ovládacího prvku pager.
void SetScrollPos(int iPos);
Parametry
iPos
[v] Nová pozice posouvání měřená v pixelech.
Poznámky
Tato metoda odešle PGM_SETPOS zprávu, která je popsaná v sadě Windows SDK.