Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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_CHILDSelaluWS_VISIBLEBiasanyaWS_DISABLEDJarangWS_GROUPUntuk 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_BOTHMengaktifkan kedua panah bilah gulir.ESB_DISABLE_LTUPMenonaktifkan panah kiri bilah gulir horizontal atau panah atas bilah gulir vertikal.ESB_DISABLE_RTDNMenonaktifkan panah kanan bilah gulir horizontal atau panah bawah bilah gulir vertikal.ESB_DISABLE_BOTHMenonaktifkan 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_POSSIF_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 FALSEadalah .
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 FALSEadalah .
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