Sdílet prostřednictvím


CScrollBar Třída

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

CObject

CCmdTarget

CWnd

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_CHILD Vždy

  • WS_VISIBLE Obvykle

  • WS_DISABLED Zřídka

  • WS_GROUP Seskupení 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_BOTH Povolí obě šipky posuvníku.

  • ESB_DISABLE_LTUP Zakáže šipku doleva vodorovného posuvníku nebo šipku nahoru svislého posuvníku.

  • ESB_DISABLE_RTDN Zakáže šipku doprava vodorovného posuvníku nebo šipku dolů svislého posuvníku.

  • ESB_DISABLE_BOTH Zakáž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