Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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_CHILDMindigWS_VISIBLEÁltalábanWS_DISABLEDRitkánWS_GROUPVezé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_BOTHEngedélyezi a görgetősáv mindkét nyílát.ESB_DISABLE_LTUPLetiltja 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_RTDNLetiltja a vízszintes görgetősáv vagy a függőleges görgetősáv lefelé mutató nyílát.ESB_DISABLE_BOTHLetiltja 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