Megosztás a következőn keresztül:


CScrollBar osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A Windows görgetősáv-vezérlő funkcióit biztosítja.

Szemantika

class CScrollBar : public CWnd

Tagok

Nyilvános konstruktorok

Név Description
CScrollBar::CScrollBar Egy CScrollBar objektumot hoz létre.

Nyilvános metódusok

Név Description
CScrollBar::Create Létrehozza a Windows görgetősávot, és csatolja az CScrollBar objektumhoz.
CScrollBar::EnableScrollBar Engedélyezi vagy letiltja a görgetősáv egy vagy mindkét nyílát.
CScrollBar::GetScrollBarInfo A görgetősáv adatainak lekérése struktúra SCROLLBARINFO használatával.
CScrollBar::GetScrollInfo A görgetősáv adatainak lekérése.
CScrollBar::GetScrollLimit Lekéri a görgetősáv korlátját
CScrollBar::GetScrollPos Lekéri a görgetődoboz aktuális pozícióját.
CScrollBar::GetScrollRange Lekéri az adott görgetősáv aktuális minimális és maximális görgetősáv-pozícióját.
CScrollBar::SetScrollInfo Beállítja a görgetősáv adatait.
CScrollBar::SetScrollPos A görgetődoboz aktuális pozícióját állítja be.
CScrollBar::SetScrollRange Beállítja az adott görgetősáv minimális és maximális pozícióértékét.
CScrollBar::ShowScrollBar Görgetősáv megjelenítése vagy elrejtése.

Megjegyzések

Két lépésben hozhat létre görgetősáv-vezérlőt. Először hívja meg a konstruktort CScrollBar az CScrollBar objektum létrehozásához, majd hívja meg a Create tagfüggvényt a Windows görgetősáv vezérlőjének létrehozásához és az CScrollBar objektumhoz való csatolásához.

Ha egy párbeszédpanelen (párbeszédpanel-erőforráson keresztül) hoz létre CScrollBar objektumot, a CScrollBar rendszer automatikusan megsemmisíti az objektumot, amikor a felhasználó bezárja a párbeszédpanelt.

Ha egy objektumot CScrollBar egy ablakban hoz létre, előfordulhat, hogy azt is el kell pusztítania.

Ha létrehozza az CScrollBar objektumot a veremen, az automatikusan megsemmisül. Ha a függvény használatával hozza létre az CScrollBar objektumot a new halomon, a windowsos görgetősáv leállásakor meg kell hívnia delete az objektumot, hogy semmisítse meg.

Ha bármilyen memóriát lefoglal az CScrollBar objektumban, felülbírálja a CScrollBar destruktort a foglalások törléséhez.

A használattal CScrollBarkapcsolatos információkért lásd: Vezérlők.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CScrollBar

Requirements

Fejléc:afxwin.h

CScrollBar::Create

Létrehozza a Windows görgetősávot, és csatolja az CScrollBar objektumhoz.

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

Paraméterek

dwStyle
Meghatározza a görgetősáv stílusát. A görgetősáv stílusainak bármilyen kombinációját alkalmazhatja a görgetősávra.

rect
Megadja a görgetősáv méretét és pozícióját. RECT Lehet struktúra vagy CRect objektum.

pParentWnd
Meghatározza a görgetősáv szülőablakát, általában egy objektumot CDialog . Nem lehet NULL.

nID
A görgetősáv vezérlőazonosítója.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Egy objektumot CScrollBar két lépésben hozhat létre. Először hívja meg a konstruktort, amely létrehozza az CScrollBar objektumot, majd hívja Createmeg, amely létrehozza és inicializálja a társított Windows-görgetősávot, és csatolja az CScrollBar objektumhoz.

Alkalmazza a következő ablakstílusokat egy görgetősávra:

  • WS_CHILD Mindig

  • WS_VISIBLE Általában

  • WS_DISABLED Ritkán

  • WS_GROUP Vezérlőelemek csoportosítása

Example

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

Egy CScrollBar objektumot hoz létre.

CScrollBar();

Megjegyzések

Az objektum létrehozása után hívja meg a Create tagfüggvényt a Windows görgetősávjának létrehozásához és inicializálásához.

Example

CScrollBar m_ScrollBarHorz;

CScrollBar::EnableScrollBar

Engedélyezi vagy letiltja a görgetősáv egy vagy mindkét nyílát.

BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);

Paraméterek

nArrowFlags
Megadja, hogy a görgető nyilak engedélyezve vagy letiltva legyenek-e, és hogy mely nyilak legyenek engedélyezve vagy letiltva. Ez a paraméter a következő értékek egyike lehet:

  • ESB_ENABLE_BOTH Engedélyezi a görgetősáv mindkét nyílát.

  • ESB_DISABLE_LTUP Letiltja a vízszintes görgetősáv bal nyílát vagy a függőleges görgetősáv felfelé mutató nyilat.

  • ESB_DISABLE_RTDN Letiltja a vízszintes görgetősáv vagy a függőleges görgetősáv lefelé mutató nyílát.

  • ESB_DISABLE_BOTH Letiltja a görgetősáv mindkét nyilát.

Visszaadott érték

Nonzero, ha a nyilak engedélyezve vannak vagy le vannak tiltva a megadott módon; ellenkező esetben 0, ami azt jelzi, hogy a nyilak már a kért állapotban vannak, vagy hiba történt.

Example

Lásd a példát a CScrollBar::SetScrollRange.

CScrollBar::GetScrollBarInfo

Lekéri azokat az információkat, amelyeket a SCROLLBARINFO struktúra a görgetősávról tart fenn.

BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;

Paraméterek

pScrollInfo
A szerkezetre mutató SCROLLBARINFO mutató.

Visszaadott érték

TRUE FALSE Sikeres, sikertelen eredmény.

Megjegyzések

Ez a tagfüggvény a Windows SDK-ban leírtak szerint emulálja az SBM_SCROLLBARINFO üzenet funkcióit.

CScrollBar::GetScrollInfo

Lekéri azokat az információkat, amelyeket a SCROLLINFO struktúra a görgetősávról tart fenn.

BOOL GetScrollInfo(
    LPSCROLLINFO lpScrollInfo,
    UINT nMask = SIF_ALL);

Paraméterek

lpScrollInfo
Egy struktúra mutatója SCROLLINFO . Erről a struktúráról további információt a Windows SDK-ben talál.

nMask
Megadja a lekérendő görgetősáv paramétereit. A tipikus használat , SIF_ALLa , SIF_POSSIF_TRACKPOSSIF_RANGEés a .SIF_PAGE További SCROLLINFO információ az nMask értékekről.

Visszaadott érték

Ha az üzenet bármilyen értéket lekért, a visszatérés a következő TRUE: . Ellenkező esetben ez FALSE.

Megjegyzések

GetScrollInfo lehetővé teszi az alkalmazások számára a 32 bites görgetési pozíciók használatát.

A SCROLLINFO szerkezet információkat tartalmaz a görgetősávról, beleértve a minimális és maximális görgetési pozíciót, az oldalméretet és a görgetődoboz pozícióját (a hüvelykujjat). SCROLLINFO A struktúra alapértelmezett értékének módosításáról a Windows SDK struktúrával kapcsolatos témakörében olvashat bővebben.

A görgetősáv pozícióját CWnd::OnHScrollCWnd::OnVScrolljelző MFC Windows üzenetkezelők csak 16 bit pozícióadatokat biztosítanak. GetScrollInfo és SetScrollInfo adjon meg 32 bites görgetősáv-pozícióadatokat. Így egy alkalmazás hívásokat GetScrollInfo kezdeményezhet a feldolgozás során, CWnd::OnHScroll vagy CWnd::OnVScroll lekérte a 32 bites görgetősáv pozícióadatait.

Example

Lásd a példát a CWnd::OnHScroll.

CScrollBar::GetScrollLimit

Lekéri a görgetősáv maximális görgetési pozícióját.

int GetScrollLimit();

Visszaadott érték

A görgetősáv maximális pozícióját adja meg, ha sikeres; egyéb esetben 0.

Example

Lásd a példát a CWnd::OnHScroll.

CScrollBar::GetScrollPos

Lekéri a görgetődoboz aktuális pozícióját.

int GetScrollPos() const;

Visszaadott érték

A görgetőmező aktuális pozícióját adja meg, ha sikeres; egyéb esetben 0.

Megjegyzések

Az aktuális pozíció egy relatív érték, amely az aktuális görgetési tartománytól függ. Ha például a görgetési tartomány 100–200, és a görgetőmező a sáv közepén van, az aktuális pozíció 150.

Example

Lásd a példát a CWnd::OnHScroll.

CScrollBar::GetScrollRange

Másolja az adott görgetősáv aktuális minimális és maximális görgetősáv-pozícióját az és lpMaxPosa megadott lpMinPos helyre.

void GetScrollRange(
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

Paraméterek

lpMinPos
Arra az egész számváltozóra mutat, amely a minimális pozíciót szeretné megkapni.

lpMaxPos
Az egész szám változóra mutat, amely a maximális pozíciót szeretné megkapni.

Megjegyzések

A görgetősáv vezérlőelem alapértelmezett tartománya üres (mindkét érték 0).

Example

Lásd a példát a CWnd::OnHScroll.

CScrollBar::SetScrollInfo

Beállítja a struktúra által a görgetősávra vonatkozó információkat SCROLLINFO .

BOOL SetScrollInfo(
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Paraméterek

lpScrollInfo
Egy struktúra mutatója SCROLLINFO .

bRedraw
Megadja, hogy a görgetősávot újra kell-e helyezni az új információknak megfelelően. Ha bRedraw igen TRUE, a görgetősáv újrarajzolt. Ha így van FALSE, akkor nem lesz újrarajzolt. A görgetősáv alapértelmezés szerint újrarajzolt.

Visszaadott érték

Ha sikeres, a visszatérés a következő TRUE: . Ellenkező esetben ez FALSE.

Megjegyzések

Meg kell adnia a struktúraparaméterek által SCROLLINFO megkövetelt értékeket, beleértve a jelzőértékeket is.

A SCROLLINFO szerkezet információkat tartalmaz a görgetősávról, beleértve a minimális és maximális görgetési pozíciót, az oldalméretet és a görgetődoboz pozícióját (a hüvelykujjat). SCROLLINFO A struktúra alapértelmezett értékének módosításáról a Windows SDK struktúrával kapcsolatos témakörében olvashat bővebben.

Example

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

A görgetődoboz aktuális pozícióját a megadottra nPos állítja, és ha meg van adva, újrarajzolva a görgetősávot, hogy tükrözze az új pozíciót.

int SetScrollPos(
    int nPos,
    BOOL bRedraw = TRUE);

Paraméterek

nPos
A görgetőmező új pozícióját adja meg. A görgetési tartományon belül kell lennie.

bRedraw
Megadja, hogy a görgetősávot újra kell-e helyezni az új pozíciónak megfelelően. Ha bRedraw igen TRUE, a görgetősáv újrarajzolt. Ha így van FALSE, akkor nem lesz újrarajzolt. A görgetősáv alapértelmezés szerint újrarajzolt.

Visszaadott érték

A görgetőmező előző pozícióját adja meg, ha sikeres; egyéb esetben 0.

Megjegyzések

Állítsa be bRedraw , hogy FALSE amikor a görgetősávot egy másik függvény egy későbbi hívása újrakonfigurálja, nehogy a görgetősáv rövid időn belül kétszer újrarajzolt legyen.

Example

Lásd a CScrollBar::SetScrollRange példát.

CScrollBar::SetScrollRange

Beállítja az adott görgetősáv minimális és maximális pozícióértékét.

void SetScrollRange(
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Paraméterek

nMinPos
Meghatározza a minimális görgetési pozíciót.

nMaxPos
A maximális görgetési pozíciót adja meg.

bRedraw
Megadja, hogy a görgetősávot újra kell-e helyezni a módosításnak megfelelően. Ha bRedraw igen TRUE, a görgetősáv újrarajzolt; ha FALSE, akkor nem lesz újrarajzolt. Alapértelmezés szerint újrarajzolt.

Megjegyzések

Állítsa be nMinPos a nMaxPos 0 értéket a normál görgetősávok elrejtéséhez.

Ne hívja meg ezt a függvényt, hogy elrejtse a görgetősávot a görgetősáv értesítési üzenetének feldolgozása közben.

Ha egy hívás SetScrollRange azonnal követi a tagfüggvény hívását, állítsa be SetScrollPos a SetScrollPos 0 értéketbRedraw, hogy megakadályozza a görgetősáv kétszeri újrafelfedését.

A megadott nMinPosnMaxPos értékek közötti különbség nem lehet nagyobb 32 767-nél. A görgetősáv vezérlőelem alapértelmezett tartománya üres (mindkettő nMinPosnMaxPos 0).

Example

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

Görgetősáv megjelenítése vagy elrejtése.

void ShowScrollBar(BOOL bShow = TRUE);

Paraméterek

bShow
Meghatározza, hogy a görgetősáv látható-e vagy rejtett-e. Ha ez a paraméter, TRUEmegjelenik a görgetősáv, ellenkező esetben rejtett.

Megjegyzések

Egy alkalmazás nem hívhatja meg ezt a függvényt, hogy elrejtse a görgetősávot a görgetősáv értesítési üzenetének feldolgozása közben.

Example

Lásd a példát a CScrollBar::Create.

Lásd még

CWnd osztály
hierarchiadiagram
CButton osztály
CComboBox osztály
CEdit osztály
CListBox osztály
CStatic osztály
CDialog osztály