Bagikan melalui


Kelas CPagerctrl

Kelas CPagerCtrl membungkus kontrol pager Windows, yang dapat menggulir ke tampilan jendela yang terkandung yang tidak sesuai dengan jendela yang berisi.

Sintaks

class CPagerCtrl : public CWnd

Anggota

Konstruktor Publik

Nama Deskripsi
CPagerctrl::CPagerctrl Membuat CPagerCtrl objek.

Metode Publik

Nama Deskripsi
CPagerctrl::Create Membuat kontrol pager dengan gaya tertentu dan melampirkannya ke objek saat ini CPagerCtrl .
CPagerctrl::CreateEx Membuat kontrol pager dengan gaya yang diperluas yang ditentukan dan melampirkannya ke objek saat ini CPagerCtrl .
CPagerctrl::ForwardMouse Mengaktifkan atau menonaktifkan penerusan WM_MOUSEMOVE pesan ke jendela yang terkandung dalam kontrol pager saat ini.
CPagerCtrl::GetBkColor Mengambil warna latar belakang kontrol pager saat ini.
CPagerctrl::GetBorder Mengambil ukuran batas kontrol pager saat ini.
CPagerctrl::GetButtonsize Mengambil ukuran tombol kontrol pager saat ini.
CPagerctrl::GetButtonState Mengambil status tombol yang ditentukan di kontrol pager saat ini.
CPagerCtrl::GetDropTarget Mengambil antarmuka IDropTarget untuk kontrol pager saat ini.
CPagerCtrl::GetScrollPos Mengambil posisi gulir kontrol pager saat ini.
CPagerctrl::IsButtonDepressed Menunjukkan apakah tombol yang ditentukan dari kontrol pager saat ini dalam pressed status.
CPagerCtrl::IsButtonGrayed Menunjukkan apakah tombol yang ditentukan dari kontrol pager saat ini dalam grayed status.
CPagerCtrl::IsButtonHot Menunjukkan apakah tombol yang ditentukan dari kontrol pager saat ini dalam hot status.
CPagerCtrl::IsButtonInvisible Menunjukkan apakah tombol yang ditentukan dari kontrol pager saat ini dalam invisible status.
CPagerctrl::IsButtonnormal Menunjukkan apakah tombol yang ditentukan dari kontrol pager saat ini dalam normal status.
CPagerCtrl::RecalcSize Menyebabkan kontrol pager saat ini menghitung ulang ukuran jendela yang terkandung.
CPagerCtrl::SetBkColor Mengatur warna latar belakang kontrol pager saat ini.
CPagerCtrl::SetBorder Mengatur ukuran batas kontrol pager saat ini.
CPagerctrl::SetButtonSize Mengatur ukuran tombol kontrol pager saat ini.
CPagerCtrl::SetChild Mengatur jendela yang terkandung untuk kontrol pager saat ini.
CPagerCtrl::SetScrollPos Mengatur posisi gulir kontrol pager saat ini.

Keterangan

Kontrol pager adalah jendela yang berisi jendela lain yang linier dan lebih besar dari jendela yang berisi, dan memungkinkan Anda untuk menggulir jendela yang terkandung ke dalam tampilan. Kontrol pager menampilkan dua tombol gulir yang secara otomatis menghilang ketika jendela yang terkandung digulir ke tingkat terjauhnya, dan muncul kembali sebaliknya. Anda dapat membuat kontrol pager yang menggulir secara horizontal atau vertikal.

Misalnya, jika aplikasi Anda memiliki toolbar yang tidak cukup lebar untuk menampilkan semua itemnya, Anda dapat menetapkan toolbar ke kontrol pager dan pengguna akan dapat menggulir toolbar ke kiri atau kanan untuk mengakses semua item. Microsoft Internet Explorer Versi 4.0 (commctrl.dll versi 4.71) memperkenalkan kontrol pager.

Kelas CPagerCtrl ini berasal dari kelas CWnd . Untuk informasi selengkapnya dan ilustrasi kontrol pager, lihat Kontrol Pager.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CPagerCtrl

Persyaratan

Header: afxcmn.h

CPagerctrl::CPagerctrl

Membuat CPagerCtrl objek.

CPagerCtrl();

Keterangan

Gunakan metode CPagerCtrl::Create atau CPagerCtrl::CreateEx untuk membuat kontrol pager dan melampirkannya ke CPagerCtrl objek.

CPagerctrl::Create

Membuat kontrol pager dengan gaya tertentu dan melampirkannya ke objek saat ini CPagerCtrl .

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parameter

dwStyle
[di] Kombinasi bitwise (OR) gaya jendela dan gaya kontrol pager yang akan diterapkan ke kontrol.

rect
[di] Referensi ke struktur RECT yang berisi posisi dan ukuran kontrol dalam koordinat klien.

pParentWnd
[di] Penunjuk ke objek CWnd yang merupakan jendela induk kontrol. Parameter ini tidak boleh NULL.

Nid
[di] ID kontrol.

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Untuk membuat kontrol pager, deklarasikan CPagerCtrl variabel, lalu panggil metode CPagerCtrl::Create atau CPagerCtrl::CreateEx pada variabel tersebut.

Contoh

Contoh berikut membuat kontrol pager, lalu menggunakan metode CPagerCtrl::SetChild untuk mengaitkan kontrol tombol yang sangat panjang dengan kontrol pager. Contoh kemudian menggunakan metode CPagerCtrl::SetButtonSize untuk mengatur tinggi kontrol pager ke 20 piksel, dan metode CPagerCtrl::SetBorder untuk mengatur ketebalan batas ke 1 piksel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerctrl::CreateEx

Membuat kontrol pager dengan gaya yang diperluas yang ditentukan dan melampirkannya ke objek saat ini CPagerCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parameter

dwExStyle
[di] Kombinasi bitwise dari gaya yang diperluas untuk diterapkan ke kontrol. Untuk informasi selengkapnya, lihat parameter dwExStyle dari fungsi CreateWindowEx .

dwStyle
[di] Kombinasi bitwise (OR) gaya jendela dan gaya kontrol pager yang akan diterapkan ke kontrol.

rect
[di] Referensi ke struktur RECT yang berisi posisi dan ukuran kontrol dalam koordinat klien.

pParentWnd
[di] Penunjuk ke objek CWnd yang merupakan jendela induk kontrol. Parameter ini tidak boleh NULL.

Nid
[di] ID kontrol.

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Untuk membuat kontrol pager, deklarasikan CPagerCtrl variabel, lalu panggil metode CPagerCtrl::Create atau CPagerCtrl::CreateEx pada variabel tersebut.

CPagerctrl::ForwardMouse

Mengaktifkan atau menonaktifkan penerusan WM_MOUSEMOVE pesan ke jendela yang terkandung dalam kontrol pager saat ini.

void ForwardMouse(BOOL bForward);

Parameter

bForward
[di] TRUE untuk meneruskan pesan mouse, atau FALSE untuk tidak meneruskan pesan mouse.

Keterangan

Metode ini mengirim pesan PGM_FORWARDMOUSE , yang dijelaskan dalam Windows SDK.

CPagerctrl::GetBorder

Mengambil ukuran batas kontrol pager saat ini.

int GetBorder() const;

Tampilkan Nilai

Ukuran batas saat ini, diukur dalam piksel.

Keterangan

Metode ini mengirim pesan PGM_GETBORDER , yang dijelaskan dalam Windows SDK.

Contoh

Contoh berikut menggunakan metode CPagerCtrl::GetBorder untuk mengambil ketebalan batas kontrol pager.

void CCSplitButton_s2Dlg::OnXBorder()
{
   int borderSize = m_pager.GetBorder();
   CString str;
   str.Format(_T("The border is %d pixel(s) thick."), borderSize);
   MessageBox(str);
}

CPagerCtrl::GetBkColor

Mengambil warna latar belakang kontrol pager saat ini.

COLORREF GetBkColor() const;

Tampilkan Nilai

Nilai COLORREF yang berisi warna latar belakang kontrol pager saat ini.

Keterangan

Metode ini mengirim pesan PGM_GETBKCOLOR , yang dijelaskan dalam Windows SDK.

Contoh

Contoh berikut menggunakan metode CPagerCtrl::SetBkColor untuk mengatur warna latar belakang kontrol pager ke merah, dan metode CPagerCtrl::GetBkColor untuk mengonfirmasi bahwa perubahan dilakukan.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerctrl::GetButtonsize

Mengambil ukuran tombol kontrol pager saat ini.

int GetButtonSize() const;

Tampilkan Nilai

Ukuran tombol saat ini, diukur dalam piksel.

Keterangan

Metode ini mengirim pesan PGM_GETBUTTONSIZE , yang dijelaskan dalam Windows SDK.

Jika kontrol pager memiliki gaya PGS_HORZ, ukuran tombol menentukan lebar tombol pager, dan jika kontrol pager memiliki gaya PGS_VERT, ukuran tombol menentukan tinggi tombol pager. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

CPagerctrl::GetButtonState

Mengambil status tombol gulir yang ditentukan di kontrol pager saat ini.

DWORD GetButtonState(int iButton) const;

Parameter

iButton
[di] Menunjukkan tombol tempat status diambil. Jika gaya kontrol pager PGS_HORZ, tentukan PGB_TOPORLEFT untuk tombol kiri dan PGB_BOTTOMORRIGHT untuk tombol kanan. Jika gaya kontrol pager PGS_VERT, tentukan PGB_TOPORLEFT untuk tombol atas dan PGB_BOTTOMORRIGHT untuk tombol bawah. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Tampilkan Nilai

Status tombol yang ditentukan oleh parameter iButton . Statusnya adalah PGF_INVISIBLE, PGF_NORMAL, PGF_GRAYED, PGF_DEPRESSED, atau PGF_HOT. Untuk informasi selengkapnya, lihat bagian Nilai Pengembalian dari pesan PGM_GETBUTTONSTATE .

Keterangan

Metode ini mengirim pesan PGM_GETBUTTONSTATE , yang dijelaskan dalam Windows SDK.

CPagerCtrl::GetDropTarget

Mengambil antarmuka IDropTarget untuk kontrol pager saat ini.

IDropTarget* GetDropTarget() const;

Tampilkan Nilai

Penunjuk ke IDropTarget antarmuka untuk kontrol pager saat ini.

Keterangan

IDropTarget adalah salah satu antarmuka yang Anda terapkan untuk mendukung operasi seret dan letakkan di aplikasi Anda.

Metode ini mengirim pesan PGM_GETDROPTARGET , yang dijelaskan dalam Windows SDK. Pemanggil metode ini bertanggung jawab untuk memanggil Release anggota antarmuka IDropTarget ketika antarmuka tidak lagi diperlukan.

CPagerCtrl::GetScrollPos

Mengambil posisi gulir kontrol pager saat ini.

int GetScrollPos() const;

Tampilkan Nilai

Posisi gulir saat ini, diukur dalam piksel.

Keterangan

Metode ini mengirim pesan PGM_GETPOS , yang dijelaskan dalam Windows SDK.

Contoh

Contoh berikut menggunakan metode CPagerCtrl::GetScrollPos untuk mengambil posisi gulir kontrol pager saat ini. Jika kontrol pager belum digulir ke nol, posisi paling kiri, contohnya menggunakan metode CPagerCtrl::SetScrollPos untuk mengatur posisi gulir ke nol.

void CCSplitButton_s2Dlg::OnXScrollposition()
{
   int pos;
   CString str;
   pos = m_pager.GetScrollPos();
   if (pos != 0)
      m_pager.SetScrollPos(0);
   str.Format(_T("Old position = %d; new position = 0"), pos);
   MessageBox(str);
}

CPagerctrl::IsButtonDepressed

Menunjukkan apakah tombol gulir yang ditentukan dari kontrol pager saat ini dalam keadaan ditekan.

BOOL IsButtonDepressed(int iButton) const;

Parameter

iButton
[di] Menunjukkan tombol tempat status diambil. Jika gaya kontrol pager PGS_HORZ, tentukan PGB_TOPORLEFT untuk tombol kiri dan PGB_BOTTOMORRIGHT untuk tombol kanan. Jika gaya kontrol pager PGS_VERT, tentukan PGB_TOPORLEFT untuk tombol atas dan PGB_BOTTOMORRIGHT untuk tombol bawah. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Tampilkan Nilai

TRUE jika tombol yang ditentukan dalam status ditekan; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan PGM_GETBUTTONSTATE , yang dijelaskan dalam Windows SDK. Kemudian menguji apakah status yang dikembalikan PGF_DEPRESSED. Untuk informasi selengkapnya, lihat bagian Nilai Pengembalian dari pesan PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonGrayed

Menunjukkan apakah tombol gulir yang ditentukan dari kontrol pager saat ini dalam keadaan abu-abu.

BOOL IsButtonGrayed(int iButton) const;

Parameter

iButton
[di] Menunjukkan tombol tempat status diambil. Jika gaya kontrol pager PGS_HORZ, tentukan PGB_TOPORLEFT untuk tombol kiri dan PGB_BOTTOMORRIGHT untuk tombol kanan. Jika gaya kontrol pager PGS_VERT, tentukan PGB_TOPORLEFT untuk tombol atas dan PGB_BOTTOMORRIGHT untuk tombol bawah. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Tampilkan Nilai

TRUE jika tombol yang ditentukan dalam status abu-abu; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan PGM_GETBUTTONSTATE , yang dijelaskan dalam Windows SDK. Kemudian menguji apakah status yang dikembalikan PGF_GRAYED. Untuk informasi selengkapnya, lihat bagian Nilai Pengembalian dari pesan PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonHot

Menunjukkan apakah tombol gulir yang ditentukan dari kontrol pager saat ini dalam status panas.

BOOL IsButtonHot(int iButton) const;

Parameter

iButton
[di] Menunjukkan tombol tempat status diambil. Jika gaya kontrol pager PGS_HORZ, tentukan PGB_TOPORLEFT untuk tombol kiri dan PGB_BOTTOMORRIGHT untuk tombol kanan. Jika gaya kontrol pager PGS_VERT, tentukan PGB_TOPORLEFT untuk tombol atas dan PGB_BOTTOMORRIGHT untuk tombol bawah. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Tampilkan Nilai

TRUE jika tombol yang ditentukan dalam status panas; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan PGM_GETBUTTONSTATE , yang dijelaskan dalam Windows SDK. Kemudian menguji apakah status yang dikembalikan PGF_HOT. Untuk informasi selengkapnya, lihat bagian Nilai Pengembalian dari pesan PGM_GETBUTTONSTATE .

CPagerCtrl::IsButtonInvisible

Menunjukkan apakah tombol gulir yang ditentukan dari kontrol pager saat ini dalam status tidak terlihat.

BOOL IsButtonInvisible(int iButton) const;

Parameter

iButton
[di] Menunjukkan tombol tempat status diambil. Jika gaya kontrol pager PGS_HORZ, tentukan PGB_TOPORLEFT untuk tombol kiri dan PGB_BOTTOMORRIGHT untuk tombol kanan. Jika gaya kontrol pager PGS_VERT, tentukan PGB_TOPORLEFT untuk tombol atas dan PGB_BOTTOMORRIGHT untuk tombol bawah. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Tampilkan Nilai

TRUE jika tombol yang ditentukan dalam status tidak terlihat; jika tidak, FALSE.

Keterangan

Windows membuat tombol gulir ke arah tertentu tidak terlihat ketika jendela yang terkandung digulir ke tingkat terjauh karena mengklik tombol lebih lanjut tidak dapat membawa lebih banyak jendela yang terkandung ke dalam tampilan.

Metode ini mengirim pesan PGM_GETBUTTONSTATE , yang dijelaskan dalam Windows SDK. Kemudian menguji apakah status yang dikembalikan PGF_INVISIBLE. Untuk informasi selengkapnya, lihat bagian Nilai Pengembalian dari pesan PGM_GETBUTTONSTATE .

Contoh

Contoh berikut menggunakan metode CPagerCtrl::IsButtonInvisible untuk menentukan apakah tombol gulir kiri dan kanan kontrol pager terlihat.

void CCSplitButton_s2Dlg::OnXIsbuttoninvisible()
{
   BOOL bLeft = m_pager.IsButtonInvisible(PGB_TOPORLEFT);
   BOOL bRight = m_pager.IsButtonInvisible(PGB_BOTTOMORRIGHT);
   CString str;
   str.Format(_T("The left button is%s visible; the right button is%s visible."),
              (bLeft ? _T(" not") : _T("")),
              (bRight ? _T(" not") : _T("")));
   MessageBox(str);
}

CPagerctrl::IsButtonnormal

Menunjukkan apakah tombol gulir yang ditentukan dari kontrol pager saat ini dalam status normal.

BOOL IsButtonNormal(int iButton) const;

Parameter

iButton
[di] Menunjukkan tombol tempat status diambil. Jika gaya kontrol pager PGS_HORZ, tentukan PGB_TOPORLEFT untuk tombol kiri dan PGB_BOTTOMORRIGHT untuk tombol kanan. Jika gaya kontrol pager PGS_VERT, tentukan PGB_TOPORLEFT untuk tombol atas dan PGB_BOTTOMORRIGHT untuk tombol bawah. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Tampilkan Nilai

TRUE jika tombol yang ditentukan dalam keadaan normal; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan PGM_GETBUTTONSTATE , yang dijelaskan dalam Windows SDK. Kemudian menguji apakah status yang dikembalikan PGF_NORMAL. Untuk informasi selengkapnya, lihat bagian Nilai Pengembalian dari pesan PGM_GETBUTTONSTATE .

CPagerCtrl::RecalcSize

Menyebabkan kontrol pager saat ini menghitung ulang ukuran jendela yang terkandung.

void RecalcSize();

Keterangan

Metode ini mengirim pesan PGM_RECALCSIZE , yang dijelaskan dalam Windows SDK. Akibatnya, kontrol pager mengirimkan pemberitahuan PGN_CALCSIZE untuk mendapatkan dimensi jendela yang dapat digulir.

Contoh 1

Contoh berikut menggunakan metode CPagerCtrl::RecalcSize untuk meminta kontrol pager saat ini untuk menghitung ulang ukurannya.

void CCSplitButton_s2Dlg::OnXRecalcsize()
{
   // If the child control changes size, call RecalcSize() to change
   // the size of the pager control accordingly.
   m_pager.RecalcSize();
   MessageBox(_T("The pager control size has been recalculated."));
}

Contoh 2

Contoh berikut menggunakan pantulan pesan untuk mengaktifkan kontrol pager untuk menghitung ulang ukurannya sendiri alih-alih mengharuskan dialog induk kontrol untuk melakukan penghitungan. Contoh ini memperoleh MyPagerCtrl kelas dari kelas CPagerCtrl, lalu menggunakan peta pesan untuk mengaitkan pemberitahuan PGN_CALCSIZE dengan OnCalcsize penangan pemberitahuan. Dalam contoh ini, handler pemberitahuan mengatur lebar dan tinggi kontrol pager ke nilai tetap.

BEGIN_MESSAGE_MAP(CMyPagerCtrl, CPagerCtrl)
ON_NOTIFY_REFLECT(PGN_CALCSIZE, &CMyPagerCtrl::OnCalcSize)
END_MESSAGE_MAP()

// CMyPagerCtrl message handlers
void CMyPagerCtrl::OnCalcSize(NMHDR *code, LRESULT *param)
{
   // If the control contained in the pager control changes size, use this
   // handler to change the size of the pager control accordingly.

   LPNMPGCALCSIZE tmp = (LPNMPGCALCSIZE)code;
   *param = 0;
   tmp->iWidth = 500;
   tmp->iHeight = 50;
}

CPagerCtrl::SetBkColor

Mengatur warna latar belakang kontrol pager saat ini.

COLORREF SetBkColor(COLORREF clrBk);

Parameter

clrBk
[di] Nilai COLORREF yang berisi warna latar belakang baru kontrol pager.

Tampilkan Nilai

Nilai COLORREF yang berisi warna latar belakang sebelumnya dari kontrol pager.

Keterangan

Metode ini mengirim pesan PGM_SETBKCOLOR , yang dijelaskan dalam Windows SDK.

Contoh

Contoh berikut menggunakan metode CPagerCtrl::SetBkColor untuk mengatur warna latar belakang kontrol pager ke merah, dan metode CPagerCtrl::GetBkColor untuk mengonfirmasi bahwa perubahan dilakukan.

void CCSplitButton_s2Dlg::OnXColor()
{
   COLORREF originalColor;
   //  Set color to red.
   originalColor = m_pager.SetBkColor(RGB(255, 0, 0));
   if (m_pager.GetBkColor() != RGB(255, 0, 0))
   {
      MessageBox(_T("Control did not return RED as the previous color."));
   }
   // The following statement is one way to restore the color.
   // m_pager.SetBkColor( originalColor );
}

CPagerCtrl::SetBorder

Mengatur ukuran batas kontrol pager saat ini.

int SetBorder(int iBorder);

Parameter

iBorder
[di] Ukuran batas baru, diukur dalam piksel. Jika parameter iBorder negatif, ukuran batas diatur ke nol.

Tampilkan Nilai

Ukuran batas sebelumnya, diukur dalam piksel.

Keterangan

Metode ini mengirim pesan PGM_SETBORDER , yang dijelaskan dalam Windows SDK.

Contoh

Contoh berikut membuat kontrol pager, lalu menggunakan metode CPagerCtrl::SetChild untuk mengaitkan kontrol tombol yang sangat panjang dengan kontrol pager. Contoh kemudian menggunakan metode CPagerCtrl::SetButtonSize untuk mengatur tinggi kontrol pager ke 20 piksel, dan metode CPagerCtrl::SetBorder untuk mengatur ketebalan batas ke 1 piksel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerctrl::SetButtonSize

Mengatur ukuran tombol kontrol pager saat ini.

int SetButtonSize(int iButtonSize);

Parameter

iButtonSize
[di] Ukuran tombol baru, diukur dalam piksel.

Tampilkan Nilai

Ukuran tombol sebelumnya, diukur dalam piksel.

Keterangan

Metode ini mengirim pesan PGM_SETBUTTONSIZE , yang dijelaskan dalam Windows SDK.

Jika kontrol pager memiliki gaya PGS_HORZ, ukuran tombol menentukan lebar tombol pager, dan jika kontrol pager memiliki gaya PGS_VERT, ukuran tombol menentukan tinggi tombol pager. Ukuran tombol default adalah tiga perempat dari lebar bilah gulir, dan ukuran tombol minimum adalah 12 piksel. Untuk informasi selengkapnya, lihat Gaya Kontrol Pager.

Contoh

Contoh berikut membuat kontrol pager, lalu menggunakan metode CPagerCtrl::SetChild untuk mengaitkan kontrol tombol yang sangat panjang dengan kontrol pager. Contoh kemudian menggunakan metode CPagerCtrl::SetButtonSize untuk mengatur tinggi kontrol pager ke 20 piksel, dan metode CPagerCtrl::SetBorder untuk mengatur ketebalan batas ke 1 piksel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetChild

Mengatur jendela yang terkandung untuk kontrol pager saat ini.

void SetChild(HWND hwndChild);

Parameter

hwndChild
[di] Tangani ke jendela yang akan dimuat.

Keterangan

Metode ini mengirim pesan PGM_SETCHILD , yang dijelaskan dalam Windows SDK.

Metode ini tidak mengubah induk jendela yang terkandung; ini hanya menetapkan handel jendela ke kontrol pager untuk menggulir. Dalam kebanyakan kasus, jendela yang terkandung akan menjadi jendela anak dari kontrol pager.

Contoh

Contoh berikut membuat kontrol pager, lalu menggunakan metode CPagerCtrl::SetChild untuk mengaitkan kontrol tombol yang sangat panjang dengan kontrol pager. Contoh kemudian menggunakan metode CPagerCtrl::SetButtonSize untuk mengatur tinggi kontrol pager ke 20 piksel, dan metode CPagerCtrl::SetBorder untuk mengatur ketebalan batas ke 1 piksel.

// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
    (WS_VISIBLE | WS_CHILD | PGS_HORZ),
    CRect(rect.Width() / 4, 5, (rect.Width() * 3) / 4, 55),
    this,
    IDC_PAGER1);

m_pager.GetClientRect(&rect);
nRet = m_button.Create(
    _T("This is a very, very long button. 012345678901234567890"),
    (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
    CRect(0, 0, rect.Width(), 30),
    &m_pager, IDC_BUTTON1);

m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize(20);
m_pager.SetBorder(1);

CPagerCtrl::SetScrollPos

Mengatur posisi gulir kontrol pager saat ini.

void SetScrollPos(int iPos);

Parameter

iPos
[di] Posisi gulir baru, diukur dalam piksel.

Keterangan

Metode ini mengirim pesan PGM_SETPOS , yang dijelaskan dalam Windows SDK.

Lihat juga

Kelas CPagerctrl
Bagan Hierarki
Kontrol Pager