Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows kaydırma çubuğu denetiminin işlevselliğini sağlar.
Sözdizimi
class CScrollBar : public CWnd
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CScrollBar::CScrollBar |
Bir CScrollBar nesne oluşturur. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CScrollBar::Create |
Windows kaydırma çubuğunu oluşturur ve nesneye CScrollBar ekler. |
CScrollBar::EnableScrollBar |
Kaydırma çubuğunun bir veya her iki oklarını etkinleştirir veya devre dışı bırakır. |
CScrollBar::GetScrollBarInfo |
Bir SCROLLBARINFO yapı kullanarak kaydırma çubuğu hakkındaki bilgileri alır. |
CScrollBar::GetScrollInfo |
Kaydırma çubuğu hakkındaki bilgileri alır. |
CScrollBar::GetScrollLimit |
Kaydırma çubuğunun sınırını alır |
CScrollBar::GetScrollPos |
Kaydırma kutusunun geçerli konumunu alır. |
CScrollBar::GetScrollRange |
Verilen kaydırma çubuğu için geçerli en düşük ve en yüksek kaydırma çubuğu konumlarını alır. |
CScrollBar::SetScrollInfo |
Kaydırma çubuğu hakkındaki bilgileri ayarlar. |
CScrollBar::SetScrollPos |
Kaydırma kutusunun geçerli konumunu ayarlar. |
CScrollBar::SetScrollRange |
Verilen kaydırma çubuğu için en düşük ve en yüksek konum değerlerini ayarlar. |
CScrollBar::ShowScrollBar |
Kaydırma çubuğunu gösterir veya gizler. |
Açıklamalar
İki adımda kaydırma çubuğu denetimi oluşturursunuz. İlk olarak, nesneyi oluşturmak için oluşturucuyu CScrollBar çağırın CScrollBar , ardından Üye işlevini çağırarak Create Windows kaydırma çubuğu denetimini oluşturun ve nesneye CScrollBar ekleyin.
İletişim kutusunda (iletişim kutusu kaynağı aracılığıyla) bir CScrollBar nesne oluşturursanız, CScrollBar kullanıcı iletişim kutusunu kapattığında nesnesi otomatik olarak yok edilir.
Pencere içinde bir CScrollBar nesne oluşturursanız, nesneyi yok etmeniz de gerekebilir.
Nesneyi yığında oluşturursanız CScrollBar , nesne otomatik olarak yok edilir. işlevini kullanarak new yığında nesnesi oluşturursanızCScrollBar, kullanıcı Windows kaydırma çubuğunu sonlandırdığında yok etmek için nesne üzerinde çağrısında delete bulunması gerekir.
Nesnede CScrollBar herhangi bir bellek ayırırsanız, ayırmaları atmak için yıkıcıyı geçersiz kılın CScrollBar .
kullanma CScrollBarhakkında daha fazla bilgi için bkz . Denetimler.
Devralma Hiyerarşisi
CScrollBar
Gereksinimler
Üstbilgi: afxwin.h
CScrollBar::Create
Windows kaydırma çubuğunu oluşturur ve nesneye CScrollBar ekler.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametreler
dwStyle
Kaydırma çubuğunun stilini belirtir. Kaydırma çubuğu stillerinin herhangi bir bileşimini kaydırma çubuğuna uygulayın.
rect
Kaydırma çubuğunun boyutunu ve konumunu belirtir. Yapı RECT veya CRect nesne olabilir.
pParentWnd
Kaydırma çubuğunun üst penceresini ( genellikle bir CDialog nesne) belirtir. Bu olmamalıdır NULL.
nID
Kaydırma çubuğunun denetim kimliği.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
İki adımda bir CScrollBar nesne oluşturursunuz. İlk olarak, nesnesini oluşturan oluşturucuyu çağırınCScrollBar; ardından ilişkili Windows kaydırma çubuğunu oluşturup başlatan ve nesnesine ekleyen öğesini çağırınCreateCScrollBar.
Kaydırma çubuğuna aşağıdaki pencere stillerini uygulayın:
WS_CHILDHer zamanWS_VISIBLEGeneldeWS_DISABLEDNadirenWS_GROUPDenetimleri gruplandırmak için
Örnek
// 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
Bir CScrollBar nesne oluşturur.
CScrollBar();
Açıklamalar
Nesnesini oluşturduktan sonra, Windows kaydırma çubuğunu oluşturmak ve başlatmak için üye işlevini çağırın Create .
Örnek
CScrollBar m_ScrollBarHorz;
CScrollBar::EnableScrollBar
Kaydırma çubuğunun bir veya her iki oklarını etkinleştirir veya devre dışı bırakır.
BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);
Parametreler
nArrowFlags
Kaydırma oklarının etkin mi yoksa devre dışı mı olduğunu ve hangi okların etkinleştirildiğini veya devre dışı bırakılıp bırakılmadığını belirtir. Bu parametre aşağıdaki değerlerden biri olabilir:
ESB_ENABLE_BOTHKaydırma çubuğunun her iki oklarını da etkinleştirir.ESB_DISABLE_LTUPYatay kaydırma çubuğunun sol okunu veya dikey kaydırma çubuğunun yukarı okunu devre dışı bırakır.ESB_DISABLE_RTDNYatay kaydırma çubuğunun sağ okunu veya dikey kaydırma çubuğunun aşağı okunu devre dışı bırakır.ESB_DISABLE_BOTHKaydırma çubuğunun her iki oklarını da devre dışı bırakır.
Dönüş Değeri
Oklar belirtildiği gibi etkin veya devre dışıysa sıfır olmayan; aksi takdirde 0, okların zaten istenen durumda olduğunu veya bir hata oluştuğuna işaret eder.
Örnek
örneğine CScrollBar::SetScrollRangebakın.
CScrollBar::GetScrollBarInfo
Yapının bir kaydırma çubuğu hakkında koruduğu bilgileri SCROLLBARINFO alır.
BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;
Parametreler
pScrollInfo
Yapı işaretçisi SCROLLBARINFO .
Dönüş Değeri
Başarılı olduğunda, FALSE başarısız olduğunda döndürürTRUE.
Açıklamalar
Bu üye işlevi, Windows SDK'sında açıklandığı gibi iletinin SBM_SCROLLBARINFO işlevselliğine öykünmektedir.
CScrollBar::GetScrollInfo
Yapının bir kaydırma çubuğu hakkında koruduğu bilgileri SCROLLINFO alır.
BOOL GetScrollInfo(
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parametreler
lpScrollInfo
Bir yapıya işaretçi SCROLLINFO . Bu yapı hakkında daha fazla bilgi için bkz. Windows SDK'sı.
nMask
Alınacak kaydırma çubuğu parametrelerini belirtir. Tipik kullanım, SIF_ALL, , SIF_POSSIF_TRACKPOSve SIF_RANGEbirleşimini SIF_PAGEbelirtir. Değerler hakkında nMask daha fazla bilgi için bkzSCROLLINFO.
Dönüş Değeri
İleti herhangi bir değer aldıysa, dönüş olur TRUE. Aksi takdirde, olur FALSE.
Açıklamalar
GetScrollInfo uygulamaların 32 bit kaydırma konumlarını kullanmasını sağlar.
Yapı, SCROLLINFO kaydırma çubuğuyla ilgili minimum ve maksimum kaydırma konumları, sayfa boyutu ve kaydırma kutusunun (başparmak) konumu gibi bilgiler içerir. Yapı varsayılanlarını SCROLLINFO değiştirme hakkında daha fazla bilgi için Windows SDK'sında yapı konusuna bakın.
Kaydırma çubuğu konumunu belirten MFC Windows ileti işleyicileri, CWnd::OnHScrollve CWnd::OnVScroll, yalnızca 16 bit konum verileri sağlar. GetScrollInfo ve SetScrollInfo 32 bit kaydırma çubuğu konum verileri sağlayın. Bu nedenle, bir uygulama 32 bit kaydırma çubuğu konum verilerini almak için veya CWnd::OnVScroll işlerken CWnd::OnHScroll çağırabilirGetScrollInfo.
Örnek
örneğine CWnd::OnHScrollbakın.
CScrollBar::GetScrollLimit
Kaydırma çubuğunun en yüksek kaydırma konumunu alır.
int GetScrollLimit();
Dönüş Değeri
Başarılı olursa kaydırma çubuğunun en yüksek konumunu belirtir; aksi takdirde 0.
Örnek
örneğine CWnd::OnHScrollbakın.
CScrollBar::GetScrollPos
Kaydırma kutusunun geçerli konumunu alır.
int GetScrollPos() const;
Dönüş Değeri
Başarılı olursa kaydırma kutusunun geçerli konumunu belirtir; aksi takdirde 0.
Açıklamalar
Geçerli konum, geçerli kaydırma aralığına bağlı olan göreli bir değerdir. Örneğin, kaydırma aralığı 100 ile 200 arasındaysa ve kaydırma kutusu çubuğun ortasındaysa geçerli konum 150'dir.
Örnek
örneğine CWnd::OnHScrollbakın.
CScrollBar::GetScrollRange
Verilen kaydırma çubuğu için geçerli en düşük ve en yüksek kaydırma çubuğu konumlarını ve lpMaxPostarafından lpMinPos belirtilen konumlara kopyalar.
void GetScrollRange(
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parametreler
lpMinPos
En düşük konumu almak için tamsayı değişkenini gösterir.
lpMaxPos
Maksimum konumu almak için tamsayı değişkenini gösterir.
Açıklamalar
Kaydırma çubuğu denetiminin varsayılan aralığı boş (her iki değer de 0'dır).
Örnek
örneğine CWnd::OnHScrollbakın.
CScrollBar::SetScrollInfo
Yapının bir kaydırma çubuğu hakkında koruduğu bilgileri SCROLLINFO ayarlar.
BOOL SetScrollInfo(
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parametreler
lpScrollInfo
Bir yapıya işaretçi SCROLLINFO .
bRedraw
Kaydırma çubuğunun yeni bilgileri yansıtacak şekilde yeniden çizilip çizilmeyeceğini belirtir. ise bRedraw TRUE, kaydırma çubuğu yeniden çizilir. FALSEIse, yeniden çizlenmemiştir. Kaydırma çubuğu varsayılan olarak yeniden çizilir.
Dönüş Değeri
Başarılı olursa, dönüş olur TRUE. Aksi takdirde, olur FALSE.
Açıklamalar
Bayrak değerleri de dahil olmak üzere yapı parametrelerinin SCROLLINFO gerektirdiği değerleri sağlamanız gerekir.
Yapı, SCROLLINFO kaydırma çubuğuyla ilgili minimum ve maksimum kaydırma konumları, sayfa boyutu ve kaydırma kutusunun (başparmak) konumu gibi bilgiler içerir. Yapı varsayılanlarını SCROLLINFO değiştirme hakkında daha fazla bilgi için Windows SDK'sında yapı konusuna bakın.
Örnek
// 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
Kaydırma kutusunun geçerli konumunu tarafından belirtilen nPos konuma ayarlar ve belirtilirse, kaydırma çubuğunu yeni konumu yansıtacak şekilde yeniden çizer.
int SetScrollPos(
int nPos,
BOOL bRedraw = TRUE);
Parametreler
nPos
Kaydırma kutusu için yeni konumu belirtir. Kaydırma aralığı içinde olmalıdır.
bRedraw
Kaydırma çubuğunun yeni konumu yansıtacak şekilde yeniden çizilip çizilmeyeceğini belirtir. ise bRedraw TRUE, kaydırma çubuğu yeniden çizilir. FALSEIse, yeniden çizlenmemiştir. Kaydırma çubuğu varsayılan olarak yeniden çizilir.
Dönüş Değeri
Başarılı olursa kaydırma kutusunun önceki konumunu belirtir; aksi takdirde 0.
Açıklamalar
FALSE Kaydırma çubuğunun kısa bir aralık içinde iki kez yeniden çizilmesinden kaçınmak için, kaydırma çubuğunun başka bir işleve yapılan sonraki bir çağrıyla yeniden çizileceği her zaman olarak ayarlanırbRedraw.
Örnek
CScrollBar::SetScrollRange örneğine bakın.
CScrollBar::SetScrollRange
Verilen kaydırma çubuğu için en düşük ve en yüksek konum değerlerini ayarlar.
void SetScrollRange(
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parametreler
nMinPos
En düşük kaydırma konumunu belirtir.
nMaxPos
En yüksek kaydırma konumunu belirtir.
bRedraw
Kaydırma çubuğunun değişikliği yansıtacak şekilde yeniden çizilip çizilmeyeceğini belirtir. ise bRedraw TRUEkaydırma çubuğu yeniden çizilir; ise FALSEyeniden çizilir. Varsayılan olarak yeniden çizildi.
Açıklamalar
Standart kaydırma çubuklarını gizlemek için ve nMaxPos değerini 0 olarak ayarlayınnMinPos.
Kaydırma çubuğu bildirim iletisini işlerken kaydırma çubuğunu gizlemek için bu işlevi çağırmayın.
Çağrısı üye işlevine SetScrollRange yapılan çağrıyı hemen izlerse, kaydırma çubuğunun SetScrollPos iki kez yeniden çizilmesini önlemek için 0 olarak ayarlayın bRedraw SetScrollPos .
ile nMinPos nMaxPos belirtilen değerler arasındaki fark 32.767'den büyük olmamalıdır. Kaydırma çubuğu denetiminin varsayılan aralığı boş (her ikisi de nMinPos nMaxPos 0'dır).
Örnek
// 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
Kaydırma çubuğunu gösterir veya gizler.
void ShowScrollBar(BOOL bShow = TRUE);
Parametreler
bShow
Kaydırma çubuğunun gösterileceğini veya gizlendiğini belirtir. Bu parametre ise TRUEkaydırma çubuğu gösterilir; aksi takdirde gizlenir.
Açıklamalar
Bir uygulama, kaydırma çubuğu bildirim iletisini işlerken kaydırma çubuğunu gizlemek için bu işlevi çağırmamalıdır.
Örnek
örneğine CScrollBar::Createbakın.
Ayrıca bkz.
CWnd Sınıf
Hiyerarşi Grafiği
CButton Sınıf
CComboBox Sınıf
CEdit Sınıf
CListBox Sınıf
CStatic Sınıf
CDialog Sınıf