Bagikan melalui


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

CObject

CCmdTarget

CWnd

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 Selalu

  • WS_VISIBLE Biasanya

  • WS_DISABLED Jarang

  • WS_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_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 bRedrawSetScrollPos 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.

Baca juga

CWnd Kelas
Bagan Hierarki
CButton Kelas
CComboBox Kelas
CEdit Kelas
CListBox Kelas
CStatic Kelas
CDialog Kelas