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:
Buat
CStatusBar
objek.Panggil fungsi Buat (atau CreateEx) untuk membuat jendela bilah status dan melampirkannya ke
CStatusBar
objek.Panggil SetIndicators untuk mengaitkan ID string dengan setiap indikator.
Ada tiga cara untuk memperbarui teks di panel bilah status:
Panggil CWnd::SetWindowText untuk memperbarui teks di panel 0 saja.
Panggil CCmdUI::SetText di handler ON_UPDATE_COMMAND_UI bilah status.
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
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