Bagikan melalui


Kelas CStatusBar

Bilah kontrol dengan baris panel output teks, atau "indikator."

Sintaks

class CStatusBar : public CControlBar

Anggota

Konstruktor Publik

Nama Deskripsi
CStatusBar::CStatusBar Membuat CStatusBar objek.

Metode Publik

Nama Deskripsi
CStatusBar::CommandToIndex Mendapatkan indeks untuk ID indikator tertentu.
CStatusBar::Create Membuat bilah status, melampirkannya ke CStatusBar objek, dan mengatur font awal dan tinggi batang.
CStatusBar::CreateEx CStatusBar Membuat objek dengan gaya tambahan untuk objek yang disematkanCStatusBarCtrl.
CStatusBar::D rawItem Dipanggil saat aspek visual kontrol bilah status gambar pemilik berubah.
CStatusBar::GetItemID Mendapatkan ID indikator untuk indeks tertentu.
CStatusBar::GetItemRect Mendapatkan persegi panjang tampilan untuk indeks tertentu.
CStatusBar::GetPaneInfo Mendapatkan ID indikator, gaya, dan lebar untuk indeks tertentu.
CStatusBar::GetPaneStyle Mendapatkan gaya indikator untuk indeks tertentu.
CStatusBar::GetPaneText Mendapatkan teks indikator untuk indeks tertentu.
CStatusBar::GetStatusBarctrl Memungkinkan akses langsung ke kontrol umum yang mendasar.
CStatusBar::SetIndicators Mengatur ID indikator.
CStatusBar::SetPaneInfo Mengatur ID indikator, gaya, dan lebar untuk indeks tertentu.
CStatusBar::SetPaneStyle Mengatur gaya indikator untuk indeks tertentu.
CStatusBar::SetPaneText Mengatur teks indikator untuk indeks tertentu.

Keterangan

Panel output umumnya digunakan sebagai baris pesan dan sebagai indikator status. Contohnya termasuk baris pesan bantuan menu yang menjelaskan secara singkat perintah menu yang dipilih dan indikator yang memperlihatkan status SCROLL LOCK, NUM LOCK, dan kunci lainnya.

CStatusBar::GetStatusBarCtrl, fungsi anggota yang baru untuk MFC 4.0, memungkinkan Anda memanfaatkan dukungan kontrol umum Windows untuk kustomisasi bilah status dan fungsionalitas tambahan. CStatusBar fungsi anggota memberi Anda sebagian besar fungsionalitas kontrol umum Windows; namun, ketika Anda memanggil GetStatusBarCtrl, Anda dapat memberi bilah status Anda lebih banyak karakteristik bilah status Windows 95/98. Saat Anda memanggil GetStatusBarCtrl, itu akan mengembalikan referensi ke CStatusBarCtrl objek. Lihat CStatusBarCtrl untuk informasi selengkapnya tentang merancang toolbar menggunakan kontrol umum Windows. Untuk informasi umum selengkapnya tentang kontrol umum, lihat Kontrol Umum di Windows SDK.

Kerangka kerja menyimpan informasi indikator dalam array dengan indikator paling kiri pada posisi 0. Saat Anda membuat bilah status, Anda menggunakan array ID string yang dikaitkan kerangka kerja dengan indikator yang sesuai. Anda kemudian dapat menggunakan ID string atau indeks untuk mengakses indikator.

Secara default, indikator pertama adalah "elastis": dibutuhkan panjang bilah status yang tidak digunakan oleh panel indikator lain, sehingga panel lain rata kanan.

Untuk membuat bilah status, ikuti langkah-langkah berikut:

  1. Buat CStatusBar objek.

  2. Panggil fungsi Buat (atau CreateEx) untuk membuat jendela bilah status dan melampirkannya ke CStatusBar objek.

  3. Panggil SetIndicators untuk mengaitkan ID string dengan setiap indikator.

Ada tiga cara untuk memperbarui teks di panel bilah status:

  1. Panggil CWnd::SetWindowText untuk memperbarui teks di panel 0 saja.

  2. Panggil CCmdUI::SetText di handler ON_UPDATE_COMMAND_UI bilah status.

  3. Panggil SetPaneText untuk memperbarui teks untuk panel apa pun.

Panggil SetPaneStyle untuk memperbarui gaya panel bilah status.

Untuk informasi selengkapnya tentang menggunakan CStatusBar, lihat artikel Implementasi Bilah Status di MFC dan Catatan Teknis 31 : Bilah Kontrol.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CControlBar

CStatusBar

Persyaratan

Header: afxext.h

CStatusBar::CommandToIndex

Mendapatkan indeks indikator untuk ID tertentu.

int CommandToIndex(UINT nIDFind) const;

Parameter

nIDFind
ID string indikator yang indeksnya akan diambil.

Tampilkan Nilai

Indeks indikator jika berhasil; -1 jika tidak berhasil.

Keterangan

Indeks indikator pertama adalah 0.

CStatusBar::Create

Membuat bilah status (jendela anak) dan mengaitkannya dengan CStatusBar objek.

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
    UINT nID = AFX_IDW_STATUS_BAR);

Parameter

pParentWnd
Penunjuk ke objek CWnd yang jendela Windows-nya adalah induk bilah status.

dwStyle
Gaya bilah status. Selain gaya Windows standar, gaya ini didukung.

  • CBRS_TOP Bilah kontrol berada di bagian atas jendela bingkai.

  • CBRS_BOTTOM Bilah kontrol berada di bagian bawah jendela bingkai.

  • CBRS_NOALIGN Bilah kontrol tidak diposisikan ulang ketika induk diubah ukurannya.

Nid
ID jendela anak bilah alat.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Juga mengatur font awal dan mengatur tinggi bilah status ke nilai default.

CStatusBar::CreateEx

Panggil fungsi ini untuk membuat bilah status (jendela anak) dan kaitkan dengan CStatusBar objek .

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = 0,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
    UINT nID = AFX_IDW_STATUS_BAR);

Parameter

pParentWnd
Penunjuk ke objek CWnd yang jendela Windows-nya adalah induk bilah status.

dwCtrlStyle
Gaya tambahan untuk pembuatan objek CStatusBarCtrl yang disematkan. Default menentukan bilah status tanpa pegangan ukuran atau dukungan tipsalat. Gaya bilah status yang didukung adalah:

  • SBARS_SIZEGRIP Kontrol bilah status menyertakan pegangan ukuran di ujung kanan bilah status. Pegangan ukuran mirip dengan batas ukuran; ini adalah area persegi panjang yang dapat diklik dan diseret pengguna untuk mengubah ukuran jendela induk.

  • SBT_TOOLTIPS Bilah status mendukung tipsalat.

Untuk detail tentang gaya ini, lihat Pengaturan untuk CStatusBarCtrl.

dwStyle
Gaya bilah status. Default menentukan bahwa bilah status yang terlihat dibuat di bagian bawah jendela bingkai. Terapkan kombinasi gaya kontrol bilah status yang tercantum dalam Gaya Jendela dan CDialogBar::Create. Namun, parameter ini harus selalu menyertakan gaya WS_CHILD dan WS_VISIBLE.

Nid
ID jendela anak bilah status.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi ini juga mengatur font awal dan mengatur tinggi bilah status ke nilai default.

Gunakan CreateEx, alih-alih Buat, ketika gaya tertentu perlu ada selama pembuatan kontrol bilah status yang disematkan. Misalnya, atur dwCtrlStyle ke SBT_TOOLTIPS untuk menampilkan tipsalat dalam objek bilah status.

CStatusBar::CStatusBar

Membuat CStatusBar objek, membuat font bilah status default jika perlu, dan mengatur karakteristik font ke nilai default.

CStatusBar();

CStatusBar::D rawItem

Fungsi anggota ini dipanggil oleh kerangka kerja ketika aspek visual bilah status yang digambar pemilik berubah.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parameter

lpDrawItemStruct
Penunjuk ke struktur DRAWITEMSTRUCT yang berisi informasi tentang jenis gambar yang diperlukan.

Keterangan

Anggota itemAction DRAWITEMSTRUCT struktur mendefinisikan tindakan menggambar yang akan dilakukan. Ambil alih fungsi anggota ini untuk mengimplementasikan gambar untuk objek gambar CStatusBar pemilik. Aplikasi harus memulihkan semua objek antarmuka perangkat grafis (GDI) yang dipilih untuk konteks tampilan yang disediakan dalam lpDrawItemStruct sebelum penghentian fungsi anggota ini.

CStatusBar::GetItemID

Mengembalikan ID indikator yang ditentukan oleh nIndex.

UINT GetItemID(int nIndex) const;

Parameter

nIndex
Indeks indikator yang ID-nya akan diambil.

Tampilkan Nilai

ID indikator yang ditentukan oleh nIndex.

CStatusBar::GetItemRect

Menyalin koordinat indikator yang ditentukan oleh nIndex ke dalam struktur yang diacu oleh lpRect.

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parameter

nIndex
Indeks indikator yang koordinat persegi panjangnya akan diambil.

lpRect
Menunjuk ke struktur RECT atau objek CRect yang akan menerima koordinat indikator yang ditentukan oleh nIndex.

Keterangan

Koordinat dalam piksel relatif terhadap sudut kiri atas bilah status.

CStatusBar::GetPaneInfo

Mengatur nID, nStyle, dan cxWidth ke ID, gaya, dan lebar panel indikator di lokasi yang ditentukan oleh nIndex.

void GetPaneInfo(
    int nIndex,
    UINT& nID,
    UINT& nStyle,
    int& cxWidth) const;

Parameter

nIndex
Indeks panel yang informasinya akan diambil.

Nid
Referensi ke UINT yang diatur ke ID panel.

nStyle
Referensi ke UINT yang diatur ke gaya panel.

cxWidth
Referensi ke bilangan bulat yang diatur ke lebar panel.

CStatusBar::GetPaneStyle

Panggil fungsi anggota ini untuk mengambil gaya panel bilah status.

UINT GetPaneStyle(int nIndex) const;

Parameter

nIndex
Indeks panel yang gayanya akan diambil.

Tampilkan Nilai

Gaya panel bilah status yang ditentukan oleh nIndex.

Keterangan

Gaya panel menentukan bagaimana panel muncul.

Untuk daftar gaya yang tersedia untuk bilah status, lihat Membuat.

CStatusBar::GetPaneText

Panggil fungsi anggota ini untuk mengambil teks yang muncul di panel bilah status.

CString GetPaneText(int nIndex) const;  void GetPaneText(int nIndex, CString& rString) const;

Parameter

nIndex
Indeks panel yang teksnya akan diambil.

rString
Referensi ke objek CString yang berisi teks yang akan diambil.

Tampilkan Nilai

Objek CString yang berisi teks panel.

Keterangan

Bentuk kedua fungsi anggota ini mengisi CString objek dengan teks string.

CStatusBar::GetStatusBarctrl

Fungsi anggota ini memungkinkan akses langsung ke kontrol umum yang mendasar.

CStatusBarCtrl& GetStatusBarCtrl() const;

Tampilkan Nilai

Berisi referensi ke objek CStatusBarCtrl .

Keterangan

Gunakan GetStatusBarCtrl untuk memanfaatkan fungsionalitas kontrol umum bilah status Windows, dan untuk memanfaatkan dukungan yang disediakan CStatusBarCtrl untuk kustomisasi bilah status. Misalnya, dengan menggunakan kontrol umum, Anda dapat menentukan gaya yang menyertakan pegangan ukuran pada bilah status, atau Anda dapat menentukan gaya agar bilah status muncul di bagian atas area klien jendela induk.

Untuk informasi umum selengkapnya tentang kontrol umum, Lihat Kontrol Umum di Windows SDK.

CStatusBar::SetIndicators

Mengatur ID setiap indikator ke nilai yang ditentukan oleh elemen terkait dari array lpIDArray, memuat sumber daya string yang ditentukan oleh setiap ID, dan mengatur teks indikator ke string.

BOOL SetIndicators(
    const UINT* lpIDArray,
    int nIDCount);

Parameter

lpIDArray
Penunjuk ke array ID.

nIDCount
Jumlah elemen dalam array yang diarahkan oleh lpIDArray.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

CStatusBar::SetPaneInfo

Mengatur panel indikator yang ditentukan ke ID, gaya, dan lebar baru.

void SetPaneInfo(
    int nIndex,
    UINT nID,
    UINT nStyle,
    int cxWidth);

Parameter

nIndex
Indeks panel indikator yang gayanya akan diatur.

Nid
ID baru untuk panel indikator.

nStyle
Gaya baru untuk panel indikator.

cxWidth
Lebar baru untuk panel indikator.

Keterangan

Gaya indikator berikut didukung:

  • SBPS_NOBORDERS Tidak ada batas 3-D di sekitar panel.

  • SBPS_POPOUT Batas terbalik sehingga teks "muncul."

  • SBPS_DISABLED Jangan menggambar teks.

  • SBPS_STRETCH panel Stretch untuk mengisi spasi yang tidak digunakan. Hanya satu panel per bilah status yang dapat memiliki gaya ini.

  • SBPS_NORMAL Tidak ada peregangan, batas, atau pop-out.

CStatusBar::SetPaneStyle

Panggil fungsi anggota ini untuk mengatur gaya panel bilah status.

void SetPaneStyle(
    int nIndex,
    UINT nStyle);

Parameter

nIndex
Indeks panel yang gayanya akan diatur.

nStyle
Gaya panel yang gayanya akan diatur.

Keterangan

Gaya panel menentukan bagaimana panel muncul.

Untuk daftar gaya yang tersedia untuk bilah status, lihat SetPaneInfo.

CStatusBar::SetPaneText

Panggil fungsi anggota ini untuk mengatur teks panel ke string yang diarahkan oleh lpszNewText.

BOOL SetPaneText(
    int nIndex,
    LPCTSTR lpszNewText,
    BOOL bUpdate = TRUE);

Parameter

nIndex
Indeks panel yang teksnya akan diatur.

lpszNewText
Penunjuk ke teks panel baru.

bUpdate
Jika TRUE, panel tidak valid setelah teks diatur.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Setelah memanggil SetPaneText, Anda harus menambahkan handler pembaruan UI untuk menampilkan teks baru di bilah status.

Contoh

//Sets and displays text for pane index 3 and id ID_INDICATOR_SCRL
m_wndStatusBar.SetPaneText(3, _T("My New Status Bar Text"), TRUE);

 

//UI handler in the message map updates the status bar text:
ON_UPDATE_COMMAND_UI(ID_INDICATOR_SCRL, &CMainFrame::OnUpdatePane)

 

void CMainFrame::OnUpdatePane(CCmdUI* pCmdUI)
{
   pCmdUI->Enable();
}

Lihat juga

Sampel MFC CTRLBARS
Sampel DLGCBR32 MFC
Kelas CControlBar
Bagan Hierarki
Kelas CStatusBarctrl
Kelas CControlBar