CScrollBar
Kelas
Menyediakan fungsionalitas kontrol bilah gulir Windows.
Sintaks
class CScrollBar : public CWnd
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CScrollBar::CScrollBar |
Membuat CScrollBar objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CScrollBar::Create |
Membuat bilah gulir Windows dan melampirkannya ke CScrollBar objek. |
CScrollBar::EnableScrollBar |
Mengaktifkan atau menonaktifkan satu atau kedua panah bilah gulir. |
CScrollBar::GetScrollBarInfo |
Mengambil informasi tentang bilah gulir menggunakan SCROLLBARINFO struktur. |
CScrollBar::GetScrollInfo |
Mengambil informasi tentang bilah gulir. |
CScrollBar::GetScrollLimit |
Mengambil batas bilah gulir |
CScrollBar::GetScrollPos |
Mengambil posisi kotak gulir saat ini. |
CScrollBar::GetScrollRange |
Mengambil posisi bilah gulir minimum dan maksimum saat ini untuk bilah gulir yang diberikan. |
CScrollBar::SetScrollInfo |
Mengatur informasi tentang bilah gulir. |
CScrollBar::SetScrollPos |
Mengatur posisi kotak gulir saat ini. |
CScrollBar::SetScrollRange |
Mengatur nilai posisi minimum dan maksimum untuk bilah gulir yang diberikan. |
CScrollBar::ShowScrollBar |
Memperlihatkan atau menyembunyikan bilah gulir. |
Keterangan
Anda membuat kontrol bilah gulir dalam dua langkah. Pertama, panggil konstruktor CScrollBar
untuk membuat CScrollBar
objek, lalu panggil Create
fungsi anggota untuk membuat kontrol bilah gulir Windows dan melampirkannya ke CScrollBar
objek.
Jika Anda membuat CScrollBar
objek dalam kotak dialog (melalui sumber daya dialog), CScrollBar
objek akan dihancurkan secara otomatis saat pengguna menutup kotak dialog.
Jika Anda membuat CScrollBar
objek di dalam jendela, Anda mungkin juga perlu menghancurkannya.
Jika Anda membuat CScrollBar
objek pada tumpukan, objek akan dihancurkan secara otomatis. Jika Anda membuat CScrollBar
objek pada tumpukan dengan menggunakan new
fungsi , Anda harus memanggil delete
objek untuk menghancurkannya ketika pengguna mengakhiri bilah gulir Windows.
Jika Anda mengalokasikan memori apa pun dalam CScrollBar
objek, ambil alih CScrollBar
destruktor untuk membuang alokasi.
Untuk informasi terkait tentang menggunakan CScrollBar
, lihat Kontrol.
Hierarki Warisan
CScrollBar
Persyaratan
Header: afxwin.h
CScrollBar::Create
Membuat bilah gulir Windows dan melampirkannya ke CScrollBar
objek.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Menentukan gaya bilah gulir. Terapkan kombinasi gaya bilah gulir ke bilah gulir.
rect
Menentukan ukuran dan posisi bilah gulir. Dapat berupa RECT
struktur atau CRect
objek.
pParentWnd
Menentukan jendela induk bilah gulir, biasanya objek CDialog
. Ini tidak boleh NULL
.
nID
ID kontrol bilah gulir.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Anda membuat CScrollBar
objek dalam dua langkah. Pertama, panggil konstruktor, yang membangun CScrollBar
objek; lalu panggil Create
, yang membuat dan menginisialisasi bilah gulir Windows terkait dan melampirkannya ke CScrollBar
objek.
Terapkan gaya jendela berikut ke bilah gulir:
WS_CHILD
SelaluWS_VISIBLE
BiasanyaWS_DISABLED
JarangWS_GROUP
Untuk mengelompokkan kontrol
Contoh
// 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
Membuat CScrollBar
objek.
CScrollBar();
Keterangan
Setelah membuat objek, panggil Create
fungsi anggota untuk membuat dan menginisialisasi bilah gulir Windows.
Contoh
CScrollBar m_ScrollBarHorz;
CScrollBar::EnableScrollBar
Mengaktifkan atau menonaktifkan satu atau kedua panah bilah gulir.
BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);
Parameter
nArrowFlags
Menentukan apakah panah gulir diaktifkan atau dinonaktifkan dan panah mana yang diaktifkan atau dinonaktifkan. Parameter ini bisa menjadi salah satu nilai berikut:
ESB_ENABLE_BOTH
Mengaktifkan kedua panah bilah gulir.ESB_DISABLE_LTUP
Menonaktifkan panah kiri bilah gulir horizontal atau panah atas bilah gulir vertikal.ESB_DISABLE_RTDN
Menonaktifkan panah kanan bilah gulir horizontal atau panah bawah bilah gulir vertikal.ESB_DISABLE_BOTH
Menonaktifkan kedua panah bilah gulir.
Tampilkan Nilai
Bukan nol jika panah diaktifkan atau dinonaktifkan seperti yang ditentukan; jika tidak, 0, yang menunjukkan bahwa panah sudah dalam status yang diminta atau terjadi kesalahan.
Contoh
Lihat contoh untuk CScrollBar::SetScrollRange
.
CScrollBar::GetScrollBarInfo
Mengambil informasi yang dipertahankan SCROLLBARINFO
struktur tentang bilah gulir.
BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;
Parameter
pScrollInfo
Penunjuk ke SCROLLBARINFO
struktur.
Tampilkan Nilai
Mengembalikan TRUE
keberhasilan, FALSE
jika gagal.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas SBM_SCROLLBARINFO
pesan, seperti yang dijelaskan dalam Windows SDK.
CScrollBar::GetScrollInfo
Mengambil informasi yang dipertahankan SCROLLINFO
struktur tentang bilah gulir.
BOOL GetScrollInfo(
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parameter
lpScrollInfo
Penunjuk ke SCROLLINFO
struktur. Lihat Windows SDK untuk informasi selengkapnya tentang struktur ini.
nMask
Menentukan parameter bilah gulir yang akan diambil. Penggunaan umum, SIF_ALL
, menentukan kombinasi , SIF_PAGE
, SIF_POS
SIF_TRACKPOS
, dan SIF_RANGE
. Lihat SCROLLINFO
untuk informasi selengkapnya tentang nMask
nilai.
Tampilkan Nilai
Jika pesan mengambil nilai apa pun, pengembaliannya adalah TRUE
. Jika tidak, itu FALSE
adalah .
Keterangan
GetScrollInfo
memungkinkan aplikasi untuk menggunakan posisi gulir 32-bit.
Struktur SCROLLINFO
berisi informasi tentang bilah gulir, termasuk posisi gulir minimum dan maksimum, ukuran halaman, dan posisi kotak gulir (ibu jari). SCROLLINFO
Lihat topik struktur di Windows SDK untuk informasi selengkapnya tentang mengubah default struktur.
Penangan pesan MFC Windows yang menunjukkan posisi bilah gulir, CWnd::OnHScroll
, dan CWnd::OnVScroll
, hanya menyediakan 16 bit data posisi. GetScrollInfo
dan SetScrollInfo
menyediakan 32 bit data posisi bilah gulir. Dengan demikian, aplikasi dapat memanggil GetScrollInfo
saat memproses baik CWnd::OnHScroll
atau CWnd::OnVScroll
untuk mendapatkan data posisi bilah gulir 32-bit.
Contoh
Lihat contoh untuk CWnd::OnHScroll
.
CScrollBar::GetScrollLimit
Mengambil posisi pengguliran maksimum bilah gulir.
int GetScrollLimit();
Tampilkan Nilai
Menentukan posisi maksimum bilah gulir jika berhasil; jika tidak, 0.
Contoh
Lihat contoh untuk CWnd::OnHScroll
.
CScrollBar::GetScrollPos
Mengambil posisi kotak gulir saat ini.
int GetScrollPos() const;
Tampilkan Nilai
Menentukan posisi kotak gulir saat ini jika berhasil; jika tidak, 0.
Keterangan
Posisi saat ini adalah nilai relatif yang bergantung pada rentang gulir saat ini. Misalnya, jika rentang gulir adalah 100 hingga 200 dan kotak gulir berada di tengah bilah, posisi saat ini adalah 150.
Contoh
Lihat contoh untuk CWnd::OnHScroll
.
CScrollBar::GetScrollRange
Menyalin posisi bilah gulir minimum dan maksimum saat ini untuk bilah gulir yang diberikan ke lokasi yang ditentukan oleh lpMinPos
dan lpMaxPos
.
void GetScrollRange(
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parameter
lpMinPos
Menunjuk ke variabel bilangan bulat yaitu menerima posisi minimum.
lpMaxPos
Arahkan ke variabel bilangan bulat yaitu menerima posisi maksimum.
Keterangan
Rentang default untuk kontrol bilah gulir kosong (kedua nilai adalah 0).
Contoh
Lihat contoh untuk CWnd::OnHScroll
.
CScrollBar::SetScrollInfo
Mengatur informasi yang dipertahankan SCROLLINFO
struktur tentang bilah gulir.
BOOL SetScrollInfo(
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parameter
lpScrollInfo
Penunjuk ke SCROLLINFO
struktur.
bRedraw
Menentukan apakah bilah gulir harus digambar ulang untuk mencerminkan informasi baru. Jika bRedraw
adalah TRUE
, bilah gulir digambar ulang. Jika itu FALSE
, itu tidak digambar ulang. Bilah gulir digambar ulang secara default.
Tampilkan Nilai
Jika berhasil, pengembaliannya adalah TRUE
. Jika tidak, itu FALSE
adalah .
Keterangan
Anda harus memberikan nilai yang diperlukan oleh SCROLLINFO
parameter struktur, termasuk nilai bendera.
Struktur SCROLLINFO
berisi informasi tentang bilah gulir, termasuk posisi gulir minimum dan maksimum, ukuran halaman, dan posisi kotak gulir (ibu jari). SCROLLINFO
Lihat topik struktur di Windows SDK untuk informasi selengkapnya tentang mengubah default struktur.
Contoh
// 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
Mengatur posisi kotak gulir saat ini ke yang ditentukan oleh nPos
dan, jika ditentukan, menggambar ulang bilah gulir untuk mencerminkan posisi baru.
int SetScrollPos(
int nPos,
BOOL bRedraw = TRUE);
Parameter
nPos
Menentukan posisi baru untuk kotak gulir. Ini harus berada dalam rentang gulir.
bRedraw
Menentukan apakah bilah gulir harus digambar ulang untuk mencerminkan posisi baru. Jika bRedraw
adalah TRUE
, bilah gulir digambar ulang. Jika itu FALSE
, itu tidak digambar ulang. Bilah gulir digambar ulang secara default.
Tampilkan Nilai
Menentukan posisi kotak gulir sebelumnya jika berhasil; jika tidak, 0.
Keterangan
Atur bRedraw
ke FALSE
setiap kali bilah gulir akan digambar ulang dengan panggilan berikutnya ke fungsi lain untuk menghindari bilah gulir digambar ulang dua kali dalam interval singkat.
Contoh
Lihat contoh untuk CScrollBar::SetScrollRange.
CScrollBar::SetScrollRange
Mengatur nilai posisi minimum dan maksimum untuk bilah gulir yang diberikan.
void SetScrollRange(
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parameter
nMinPos
Menentukan posisi pengguliran minimum.
nMaxPos
Menentukan posisi pengguliran maksimum.
bRedraw
Menentukan apakah bilah gulir harus digambar ulang untuk mencerminkan perubahan. Jika bRedraw
adalah TRUE
, bilah gulir digambar ulang; jika FALSE
, itu tidak digambar ulang. Ini digambar ulang secara default.
Keterangan
Atur nMinPos
dan nMaxPos
ke 0 untuk menyembunyikan bilah gulir standar.
Jangan panggil fungsi ini untuk menyembunyikan bilah gulir saat memproses pesan pemberitahuan bilah gulir.
Jika panggilan ke SetScrollRange
segera mengikuti panggilan ke SetScrollPos
fungsi anggota, atur bRedraw
SetScrollPos
ke 0 untuk mencegah bilah gulir digambar ulang dua kali.
Perbedaan antara nilai yang ditentukan oleh nMinPos
dan nMaxPos
tidak boleh lebih besar dari 32.767. Rentang default untuk kontrol bilah gulir kosong (keduanya nMinPos
dan nMaxPos
0).
Contoh
// 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
Memperlihatkan atau menyembunyikan bilah gulir.
void ShowScrollBar(BOOL bShow = TRUE);
Parameter
bShow
Menentukan apakah bilah gulir ditampilkan atau disembunyikan. Jika parameter ini adalah TRUE
, bilah gulir ditampilkan; jika tidak, parameter tersebut disembunyikan.
Keterangan
Aplikasi tidak boleh memanggil fungsi ini untuk menyembunyikan bilah gulir saat memproses pesan pemberitahuan bilah gulir.
Contoh
Lihat contoh untuk CScrollBar::Create
.
Lihat juga
CWnd
Kelas
Bagan Hierarki
CButton
Kelas
CComboBox
Kelas
CEdit
Kelas
CListBox
Kelas
CStatic
Kelas
CDialog
Kelas