Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje funkce ovládacího prvku posuvníku windows.
Syntaxe
class CScrollBar : public CWnd
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
CScrollBar::CScrollBar |
CScrollBar Vytvoří objekt. |
Veřejné metody
| Název | Popis |
|---|---|
CScrollBar::Create |
Vytvoří posuvník Windows a připojí ho k objektu CScrollBar . |
CScrollBar::EnableScrollBar |
Povolí nebo zakáže jednu nebo obě šipky posuvníku. |
CScrollBar::GetScrollBarInfo |
Načte informace o posuvníku SCROLLBARINFO pomocí struktury. |
CScrollBar::GetScrollInfo |
Načte informace o posuvníku. |
CScrollBar::GetScrollLimit |
Načte limit posuvníku. |
CScrollBar::GetScrollPos |
Načte aktuální pozici posuvníku. |
CScrollBar::GetScrollRange |
Načte aktuální minimální a maximální pozici posuvníku pro daný posuvník. |
CScrollBar::SetScrollInfo |
Nastaví informace o posuvníku. |
CScrollBar::SetScrollPos |
Nastaví aktuální pozici posuvníku. |
CScrollBar::SetScrollRange |
Nastaví minimální a maximální hodnoty pozice pro daný posuvník. |
CScrollBar::ShowScrollBar |
Zobrazí nebo skryje posuvník. |
Poznámky
Ovládací prvek posuvníku vytvoříte ve dvou krocích. Nejprve zavolejte konstruktor CScrollBar , který vytvoří CScrollBar objekt, a potom zavolá Create členovou funkci, která vytvoří ovládací prvek windows posuvníku a připojí ho k objektu CScrollBar .
Pokud vytvoříte CScrollBar objekt v dialogovém okně (prostřednictvím prostředku dialogového okna), CScrollBar automaticky se zničí, když uživatel dialogové okno zavře.
Pokud v okně vytvoříte CScrollBar objekt, budete ho možná muset také zničit.
Pokud vytvoříte CScrollBar objekt v zásobníku, automaticky se zničí. Pokud vytvoříte CScrollBar objekt na haldě new pomocí funkce, musíte volat delete objekt, aby ho zničil, když uživatel ukončí posuvník Windows.
Pokud přidělíte jakoukoli paměť v objektu CScrollBar , přepište CScrollBar destruktor a odstraňte přidělení.
Související informace o použití CScrollBarnaleznete v tématu Ovládací prvky.
Hierarchie dědičnosti
CScrollBar
Požadavky
Záhlaví: afxwin.h
CScrollBar::Create
Vytvoří posuvník Windows a připojí ho k objektu CScrollBar .
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametry
dwStyle
Určuje styl posuvníku. Na posuvník použijte libovolnou kombinaci stylů posuvníku.
rect
Určuje velikost a umístění posuvníku. Může to být RECT struktura nebo CRect objekt.
pParentWnd
Určuje nadřazené okno posuvníku CDialog , obvykle objekt. Nesmí to být NULL.
nID
ID ovládacího prvku posuvníku
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Objekt vytvoříte CScrollBar ve dvou krocích. Nejprve zavolejte konstruktor, který objekt vytvoří CScrollBar a Createinicializuje přidružený posuvník Windows a připojí ho k objektu CScrollBar .
Na posuvník použijte následující styly oken:
WS_CHILDVždyWS_VISIBLEObvykleWS_DISABLEDZřídkaWS_GROUPSeskupení ovládacích prvků
Příklad
// Example 1:
// Create a horizontal CScrollBar control as a child window of CMyDialog
// class (a CDialog-derived class). The scroll bar is NOT visible until the
// call ShowScrollBar() is made. m_ScrollBarHorz is of type CScrollBar class,
// and it is a member variable in CMyDialog class.
VERIFY(m_ScrollBarHorz.Create(SBS_HORZ | SBS_TOPALIGN | WS_CHILD,
CRect(5, 5, 100, 30), this, IDC_SCROLLBARCTRL));
m_ScrollBarHorz.ShowScrollBar();
// Example 2:
// Create a vertical CScrollBar control as a child window of CMyDialog
// class (a CDialog-derived class). m_ScrollBarVert is of type CScrollBar
// class, and it is a member variable in CMyDialog class.
VERIFY(m_ScrollBarVert.Create(SBS_VERT | SBS_LEFTALIGN | WS_CHILD |
WS_VISIBLE,
CRect(5, 30, 30, 130), this, IDC_SCROLLBARCTRL));
CScrollBar::CScrollBar
CScrollBar Vytvoří objekt.
CScrollBar();
Poznámky
Po vytvoření objektu zavolejte Create členské funkce k vytvoření a inicializaci posuvníku Windows.
Příklad
CScrollBar m_ScrollBarHorz;
CScrollBar::EnableScrollBar
Povolí nebo zakáže jednu nebo obě šipky posuvníku.
BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);
Parametry
nArrowFlags
Určuje, jestli jsou šipky posuvníku povolené nebo zakázané a které šipky jsou povolené nebo zakázané. Tento parametr může být jedna z následujících hodnot:
ESB_ENABLE_BOTHPovolí obě šipky posuvníku.ESB_DISABLE_LTUPZakáže šipku doleva vodorovného posuvníku nebo šipku nahoru svislého posuvníku.ESB_DISABLE_RTDNZakáže šipku doprava vodorovného posuvníku nebo šipku dolů svislého posuvníku.ESB_DISABLE_BOTHZakáže obě šipky posuvníku.
Návratová hodnota
Nenulové, pokud jsou šipky povoleny nebo zakázány podle zadaného nastavení; jinak 0, což znamená, že šipky jsou již v požadovaném stavu nebo že došlo k chybě.
Příklad
Podívejte se na příklad pro CScrollBar::SetScrollRange.
CScrollBar::GetScrollBarInfo
Načte informace, které SCROLLBARINFO struktura udržuje o posuvníku.
BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;
Parametry
pScrollInfo
Ukazatel na SCROLLBARINFO strukturu.
Návratová hodnota
Vrátí TRUE úspěch FALSE při selhání.
Poznámky
Tato členová funkce emuluje funkce SBM_SCROLLBARINFO zprávy, jak je popsáno v sadě Windows SDK.
CScrollBar::GetScrollInfo
Načte informace, které SCROLLINFO struktura udržuje o posuvníku.
BOOL GetScrollInfo(
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parametry
lpScrollInfo
Ukazatel na SCROLLINFO strukturu. Další informace o této struktuře najdete v sadě Windows SDK.
nMask
Určuje parametry posuvníku, které se mají načíst. Typické použití, SIF_ALL, určuje kombinaci SIF_PAGE, SIF_POS, SIF_TRACKPOS, a SIF_RANGE. Další SCROLLINFO informace o hodnotách nMask .
Návratová hodnota
Pokud zpráva načetla nějaké hodnoty, vrátí se TRUE. Jinak je to FALSE.
Poznámky
GetScrollInfo umožňuje aplikacím používat 32bitové pozice posouvání.
Struktura SCROLLINFO obsahuje informace o posuvníku, včetně minimální a maximální pozice posouvání, velikosti stránky a pozice posuvníku (palce). SCROLLINFO Další informace o změně výchozích hodnot struktury najdete v tématu struktury v sadě Windows SDK.
Obslužné rutiny zpráv MFC systému Windows označující pozici CWnd::OnHScrollposuvníku a CWnd::OnVScrollposkytují pouze 16 bitů dat o poloze. GetScrollInfo a SetScrollInfo poskytuje 32 bitů dat pozice posuvníku. Aplikace tedy může volat GetScrollInfo při zpracování dat CWnd::OnHScroll umístění 32bitového posuvníku nebo CWnd::OnVScroll získat data o poloze 32bitového posuvníku.
Příklad
Podívejte se na příklad pro CWnd::OnHScroll.
CScrollBar::GetScrollLimit
Načte maximální pozici posouvání posuvníku.
int GetScrollLimit();
Návratová hodnota
Určuje maximální pozici posuvníku v případě úspěchu; jinak 0.
Příklad
Podívejte se na příklad pro CWnd::OnHScroll.
CScrollBar::GetScrollPos
Načte aktuální pozici posuvníku.
int GetScrollPos() const;
Návratová hodnota
Určuje aktuální pozici posuvníku v případě úspěchu; jinak 0.
Poznámky
Aktuální pozice je relativní hodnota, která závisí na aktuální oblasti posouvání. Pokud je například oblast posouvání 100 až 200 a posuvník je uprostřed pruhu, aktuální pozice je 150.
Příklad
Podívejte se na příklad pro CWnd::OnHScroll.
CScrollBar::GetScrollRange
Zkopíruje aktuální minimální a maximální umístění posuvníku pro daný posuvník do umístění určených lpMinPos pomocí a lpMaxPos.
void GetScrollRange(
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parametry
lpMinPos
Odkazuje na celočíselnou proměnnou, která má přijmout minimální pozici.
lpMaxPos
Odkazuje na celočíselnou proměnnou, která má přijmout maximální pozici.
Poznámky
Výchozí oblast ovládacího prvku posuvníku je prázdná (obě hodnoty jsou 0).
Příklad
Podívejte se na příklad pro CWnd::OnHScroll.
CScrollBar::SetScrollInfo
Nastaví informace, které SCROLLINFO struktura udržuje o posuvníku.
BOOL SetScrollInfo(
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parametry
lpScrollInfo
Ukazatel na SCROLLINFO strukturu.
bRedraw
Určuje, zda má být posuvník překreslen tak, aby odrážel nové informace. Pokud bRedraw ano TRUE, posuvník je překreslen. Pokud je FALSE, není překreslená. Posuvník se ve výchozím nastavení překreslí.
Návratová hodnota
V případě úspěchu je TRUEvrácena hodnota . Jinak je to FALSE.
Poznámky
Je nutné zadat hodnoty vyžadované SCROLLINFO parametry struktury, včetně hodnot příznaku.
Struktura SCROLLINFO obsahuje informace o posuvníku, včetně minimální a maximální pozice posouvání, velikosti stránky a pozice posuvníku (palce). SCROLLINFO Další informace o změně výchozích hodnot struktury najdete v tématu struktury v sadě Windows SDK.
Příklad
// Set SCROLLINFO for the scroll bar. m_ScrollBarHorz is of type
// CScrollBar class, and it is a member variable in CMyDialog class.
SCROLLINFO info;
info.cbSize = sizeof(SCROLLINFO);
info.fMask = SIF_ALL;
info.nMin = 0;
info.nMax = 10;
info.nPage = 2;
info.nPos = 5;
info.nTrackPos = 2;
m_ScrollBarHorz.SetScrollInfo(&info);
CScrollBar::SetScrollPos
Nastaví aktuální pozici posuvníku podle zadaného nPos pole a v případě zadání překreslí posuvník tak, aby odrážel nové umístění.
int SetScrollPos(
int nPos,
BOOL bRedraw = TRUE);
Parametry
nPos
Určuje nové umístění posuvníku. Musí být v rozsahu posouvání.
bRedraw
Určuje, zda má být posuvník překreslen tak, aby odrážel novou pozici. Pokud bRedraw ano TRUE, posuvník je překreslen. Pokud je FALSE, není překreslená. Posuvník se ve výchozím nastavení překreslí.
Návratová hodnota
Určuje předchozí pozici posuvníku v případě úspěchu; jinak 0.
Poznámky
Nastavte bRedraw na FALSE vždy, když se posuvník překreslí následným voláním jiné funkce, aby se posuvník v krátkém intervalu překreslil dvakrát.
Příklad
Podívejte se na příklad pro CScrollBar::SetScrollRange.
CScrollBar::SetScrollRange
Nastaví minimální a maximální hodnoty pozice pro daný posuvník.
void SetScrollRange(
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parametry
nMinPos
Určuje minimální pozici posouvání.
nMaxPos
Určuje maximální pozici posouvání.
bRedraw
Určuje, jestli má být posuvník překreslen tak, aby odrážel změnu. Pokud bRedraw je TRUE, posuvník je překreslen; pokud FALSE, není překreslen. Ve výchozím nastavení se překreslí.
Poznámky
Pokud chcete skrýt standardní posuvníky, nastavte nMinPos hodnotu nMaxPos 0.
Tuto funkci nevolejte, pokud chcete při zpracování zprávy s oznámením na posuvníku skrýt posuvník.
Pokud volání bezprostředně následuje za voláním SetScrollRange SetScrollPos členské funkce, nastavte bRedraw SetScrollPos hodnotu 0, aby se posuvník překreslil dvakrát.
Rozdíl mezi hodnotami zadanými nMinPos a nMaxPos nesmí být větší než 32 767. Výchozí oblast ovládacího prvku posuvníku je prázdná (obě nMinPos a nMaxPos jsou 0).
Příklad
// Sets minimum (0) and maximum (10) position values for the
// CScrollBar control. m_ScrollBarVert is of type CScrollBar class,
// and it is a member variable in CMyDialog class.
m_ScrollBarVert.SetScrollRange(0, 10);
// Set the position of the scroll box.
m_ScrollBarVert.SetScrollPos(5);
// Disable the down arrow of the scroll bar. By default, both arrows
// are enabled.
m_ScrollBarVert.EnableScrollBar(ESB_DISABLE_DOWN);
CScrollBar::ShowScrollBar
Zobrazí nebo skryje posuvník.
void ShowScrollBar(BOOL bShow = TRUE);
Parametry
bShow
Určuje, jestli je posuvník zobrazený nebo skrytý. Pokud je TRUEtento parametr , zobrazí se posuvník, jinak je skrytý.
Poznámky
Aplikace by neměla tuto funkci volat, aby při zpracování zprávy s oznámením na posuvníku skryla posuvník.
Příklad
Podívejte se na příklad pro CScrollBar::Create.
Viz také
CWnd Třída
Graf hierarchie
CButton Třída
CComboBox Třída
CEdit Třída
CListBox Třída
CStatic Třída
CDialog Třída