Kelas CStatusBarctrl
Menyediakan fungsionalitas kontrol bilah status umum Windows.
Sintaks
class CStatusBarCtrl : public CWnd
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CStatusBarctrl::CStatusBarctrl | Membuat CStatusBarCtrl objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CStatusBarctrl::Create | Membuat kontrol bilah status dan melampirkannya ke CStatusBarCtrl objek. |
CStatusBarctrl::CreateEx | Membuat kontrol bilah status dengan gaya perluasan Windows yang ditentukan dan melampirkannya ke CStatusBarCtrl objek. |
CStatusBarCtrl::D rawItem | Dipanggil saat aspek visual kontrol bilah status gambar pemilik berubah. |
CStatusBarCtrl::GetBorders | Mengambil lebar saat ini dari batas horizontal dan vertikal kontrol bilah status. |
CStatusBarctrl::Geticon | Mengambil ikon untuk bagian (juga dikenal sebagai panel) di kontrol bilah status saat ini. |
CStatusBarCtrl::GetParts | Mengambil hitungan bagian dalam kontrol bilah status. |
CStatusBarctrl::GetRect | Mengambil persegi panjang pembatas bagian dalam kontrol bilah status. |
CStatusBarCtrl::GetText | Mengambil teks dari bagian kontrol bilah status yang diberikan. |
CStatusBarCtrl::GetTextLength | Ambil panjang, dalam karakter, teks dari bagian kontrol bilah status yang diberikan. |
CStatusBarCtrl::GetTipText | Mengambil teks tipsalat untuk panel di bilah status. |
CStatusBarctrl::IsSimple | Memeriksa kontrol jendela status untuk menentukan apakah itu dalam mode sederhana. |
CStatusBarCtrl::SetBkColor | Mengatur warna latar belakang dalam bilah status. |
CStatusBarctrl::Seticon | Mengatur ikon untuk panel di bilah status. |
CStatusBarctrl::SetMinHeight | Mengatur tinggi minimum area gambar kontrol bilah status. |
CStatusBarCtrl::SetParts | Mengatur jumlah bagian dalam kontrol bilah status dan koordinat tepi kanan setiap bagian. |
CStatusBarctrl::SetSimple | Menentukan apakah kontrol bilah status menampilkan teks sederhana atau menampilkan semua bagian kontrol yang diatur oleh panggilan sebelumnya ke SetParts . |
CStatusBarCtrl::SetText | Mengatur teks di bagian kontrol bilah status yang diberikan. |
CStatusBarCtrl::SetTipText | Mengatur teks tipsalat untuk panel di bilah status. |
Keterangan
"Kontrol bilah status" adalah jendela horizontal, biasanya ditampilkan di bagian bawah jendela induk, di mana aplikasi dapat menampilkan berbagai jenis informasi status. Kontrol bilah status dapat dibagi menjadi beberapa bagian untuk menampilkan lebih dari satu jenis informasi.
Kontrol ini (dan oleh karena itu CStatusBarCtrl
kelas) hanya tersedia untuk program yang berjalan di bawah Windows 95/98 dan Windows NT versi 3.51 dan yang lebih baru.
Untuk informasi selengkapnya tentang menggunakan CStatusBarCtrl
, lihat Kontrol dan Menggunakan CStatusBarCtrl.
Hierarki Warisan
CStatusBarCtrl
Persyaratan
Header: afxcmn.h
CStatusBarctrl::Create
Membuat kontrol bilah status dan melampirkannya ke CStatusBarCtrl
objek.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Menentukan gaya kontrol bilah status. Terapkan kombinasi gaya kontrol bilah status yang tercantum dalam Gaya Kontrol Umum di Windows SDK. Parameter ini harus menyertakan gaya WS_CHILD. Ini juga harus menyertakan gaya WS_VISIBLE.
rect
Menentukan ukuran dan posisi kontrol bilah status. Ini bisa berupa objek CRect atau struktur RECT .
pParentWnd
Menentukan jendela induk kontrol bilah status, biasanya .CDialog
Ini tidak boleh NULL.
Nid
Menentukan ID kontrol bilah status.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Anda membangun CStatusBarCtrl
dalam dua langkah. Pertama, panggil konstruktor, lalu panggil Create
, yang membuat kontrol bilah status dan melampirkannya ke CStatusBarCtrl
objek.
Posisi default jendela status berada di sepanjang bagian bawah jendela induk, tetapi Anda dapat menentukan gaya CCS_TOP agar muncul di bagian atas area klien jendela induk. Anda dapat menentukan gaya SBARS_SIZEGRIP untuk menyertakan pegangan ukuran di ujung kanan jendela status. Menggabungkan gaya CCS_TOP dan SBARS_SIZEGRIP tidak disarankan, karena pegangan ukuran yang dihasilkan tidak berfungsi meskipun sistem menariknya di jendela status.
Untuk membuat bilah status dengan gaya jendela yang diperluas, panggil CStatusBarCtrl::CreateEx alih-alih Create
.
Contoh
VERIFY(m_wndSBC.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP,
CRect(0, 0, 0, 0), this, IDC_STATUSBARCTRL));
CStatusBarctrl::CreateEx
Membuat kontrol (jendela anak) dan mengaitkannya dengan CStatusBarCtrl
objek.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwExStyle
Menentukan gaya kontrol yang diperluas yang sedang dibuat. Untuk daftar gaya Windows yang diperluas, lihat parameter dwExStyle untuk CreateWindowEx di Windows SDK.
dwStyle
Menentukan gaya kontrol bilah status. Terapkan kombinasi gaya kontrol bilah status yang tercantum dalam Gaya Kontrol Umum di Windows SDK. Parameter ini harus menyertakan gaya WS_CHILD. Ini juga harus menyertakan gaya WS_VISIBLE.
rect
Referensi ke struktur RECT yang menjelaskan ukuran dan posisi jendela yang akan dibuat, dalam koordinat klien pParentWnd.
pParentWnd
Penunjuk ke jendela yang merupakan induk kontrol.
Nid
ID jendela anak kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Gunakan CreateEx
alih-alih Buat untuk menerapkan gaya Windows yang diperluas, yang ditentukan oleh preface gaya windows yang diperluas WS_EX_.
CStatusBarctrl::CStatusBarctrl
Membuat CStatusBarCtrl
objek.
CStatusBarCtrl();
CStatusBarCtrl::D rawItem
Dipanggil oleh kerangka kerja saat aspek visual kontrol bilah status gambar pemilik berubah.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parameter
lpDrawItemStruct
Penunjuk panjang ke struktur DRAWITEMSTRUCT yang berisi informasi tentang jenis gambar yang diperlukan.
Keterangan
Anggota itemAction
DRAWITEMSTRUCT
struktur mendefinisikan tindakan menggambar yang akan dilakukan.
Secara default, fungsi anggota ini tidak melakukan apa pun. Ambil alih fungsi anggota ini untuk mengimplementasikan gambar untuk objek gambar CStatusBarCtrl
pemilik.
Aplikasi harus memulihkan semua objek antarmuka perangkat grafis (GDI) yang dipilih untuk konteks tampilan yang disediakan dalam lpDrawItemStruct sebelum fungsi anggota ini berakhir.
CStatusBarCtrl::GetBorders
Mengambil lebar batas horizontal dan vertikal kontrol bilah status saat ini dan spasi antar persegi panjang.
BOOL GetBorders(int* pBorders) const;
BOOL GetBorders(
int& nHorz,
int& nVert,
int& nSpacing) const;
Parameter
pBorders
Alamat array bilangan bulat yang memiliki tiga elemen. Elemen pertama menerima lebar batas horizontal, yang kedua menerima lebar batas vertikal, dan yang ketiga menerima lebar batas antara persegi panjang.
nHorz
Referensi ke bilangan bulat yang menerima lebar batas horizontal.
nVert
Referensi ke bilangan bulat yang menerima lebar batas vertikal.
nSpacing
Referensi ke bilangan bulat yang menerima lebar batas di antara persegi panjang.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Batas ini menentukan penspasian antara tepi luar kontrol dan persegi panjang dalam kontrol yang berisi teks.
Contoh
RECT rectPane1;
VERIFY(m_wndSBC.GetRect(1, &rectPane1));
int borderArray[3];
VERIFY(m_wndSBC.GetBorders(borderArray));
int nHorz, nVert, nSpacing;
VERIFY(m_wndSBC.GetBorders(nHorz, nVert, nSpacing));
CStatusBarctrl::Geticon
Mengambil ikon untuk bagian (juga dikenal sebagai panel) di kontrol bilah status saat ini.
HICON GetIcon(int iPart) const;
Parameter
iPart
[di] Indeks berbasis nol dari bagian yang berisi ikon yang akan diambil. Jika parameter ini adalah -1, bilah status diasumsikan sebagai bilah status mode sederhana.
Tampilkan Nilai
Handel ke ikon jika metode berhasil; jika tidak, NULL.
Keterangan
Metode ini mengirim pesan SB_GETICON , yang dijelaskan dalam Windows SDK.
Kontrol bilah status terdiri dari baris panel output teks, yang juga dikenal sebagai bagian. Untuk informasi selengkapnya tentang bilah status, lihat Implementasi Bilah Status di MFC dan Mengatur Mode Objek CStatusBarCtrl.
Contoh
Contoh kode pertama mendefinisikan variabel, m_statusBar
, yang digunakan untuk mengakses kontrol bilah status saat ini. Variabel ini digunakan dalam contoh berikutnya.
public:
CStatusBarCtrl m_statusBar;
Contoh kode berikutnya menyalin ikon ke dua panel kontrol bilah status saat ini. Di bagian sebelumnya dari contoh kode, kami membuat kontrol bilah status dengan tiga panel lalu menambahkan ikon ke panel pertama. Contoh ini mengambil ikon dari panel pertama lalu menambahkannya ke panel kedua dan ketiga.
// Get the icon from pane 1 and set it in panes 2 and 3.
HICON hIcon = m_statusBar.GetIcon(0);
m_statusBar.SetIcon(1, hIcon);
m_statusBar.SetIcon(2, hIcon);
CStatusBarCtrl::GetParts
Mengambil hitungan bagian dalam kontrol bilah status.
int GetParts(
int nParts,
int* pParts) const;
Parameter
nParts
Jumlah bagian yang akan diambil koordinatnya. Jika parameter ini lebih besar dari jumlah bagian dalam kontrol, pesan mengambil koordinat untuk bagian yang ada saja.
pParts
Alamat array bilangan bulat yang memiliki jumlah elemen yang sama dengan jumlah bagian yang ditentukan oleh nParts. Setiap elemen dalam array menerima koordinat klien dari tepi kanan bagian yang sesuai. Jika elemen diatur ke - 1, posisi tepi kanan untuk bagian tersebut meluas ke tepi kanan bilah status.
Tampilkan Nilai
Jumlah bagian dalam kontrol jika berhasil, atau nol sebaliknya.
Keterangan
Fungsi anggota ini juga mengambil koordinat tepi kanan dari sejumlah bagian yang diberikan.
Contoh
int pParts[2];
int nParts = m_wndSBC.GetParts(2, pParts);
CStatusBarctrl::GetRect
Mengambil persegi panjang pembatas bagian dalam kontrol bilah status.
BOOL GetRect(
int nPane,
LPRECT lpRect) const;
Parameter
nPane
Indeks berbasis nol dari bagian yang persegi panjang pembatasnya akan diambil.
lpRect
Alamat struktur RECT yang menerima persegi panjang pembatas.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
CRect rectPane1;
VERIFY(m_wndSBC.GetRect(1, &rectPane1));
CStatusBarCtrl::GetText
Mengambil teks dari bagian kontrol bilah status yang diberikan.
CString GetText(
int nPane,
int* pType = NULL) const;
int GetText(
LPCTSTR lpszText,
int nPane,
int* pType = NULL) const;
Parameter
lpszText
Alamat buffer yang menerima teks. Parameter ini adalah string null-terminated.
nPane
Indeks berbasis nol dari bagian untuk mengambil teks.
pType
Penunjuk ke bilangan bulat yang menerima informasi jenis. Jenisnya bisa menjadi salah satu nilai ini:
0 Teks digambar dengan batas agar tampak lebih rendah dari bidang bilah status.
SBT_NOBORDERS Teks digambar tanpa batas.
SBT_POPOUT Teks digambar dengan batas agar tampak lebih tinggi dari bidang bilah status.
SBT_OWNERDRAW Jika teks memiliki jenis gambar SBT_OWNERDRAW, pType menerima pesan ini dan mengembalikan nilai 32-bit yang terkait dengan teks alih-alih panjang dan jenis operasi.
Tampilkan Nilai
Panjang, dalam karakter, teks atau CString yang berisi teks saat ini.
Contoh
int nType;
TCHAR *pszPaneOneText;
pszPaneOneText = new TCHAR[m_wndSBC.GetTextLength(1, &nType) + 1];
int nTextLength = m_wndSBC.GetText(pszPaneOneText, 1, &nType);
switch (nType)
{
case 0:
// Text is drawn with a border to appear lower than the
// plane of the status bar
break;
case SBT_NOBORDERS:
// text is drawn without borders
break;
case SBT_OWNERDRAW:
// Text is drawn by the parent window
break;
case SBT_POPOUT:
// Text is drawn with a border to appear higher than the
// plane of the status bar
break;
}
delete pszPaneOneText;
CStatusBarCtrl::GetTextLength
Mengambil panjang, dalam karakter, teks dari bagian kontrol bilah status yang diberikan.
int GetTextLength(
int nPane,
int* pType = NULL) const;
Parameter
nPane
Indeks berbasis nol dari bagian untuk mengambil teks.
pType
Penunjuk ke bilangan bulat yang menerima informasi jenis. Jenisnya bisa menjadi salah satu nilai ini:
0 Teks digambar dengan batas agar tampak lebih rendah dari bidang bilah status.
SBT_NOBORDERS Teks digambar tanpa batas.
SBT_OWNERDRAW Teks digambar oleh jendela induk.
SBT_POPOUT Teks digambar dengan batas agar tampak lebih tinggi dari bidang bilah status.
Tampilkan Nilai
Panjangnya, dalam karakter, dari teks.
Contoh
int nType;
int nLength = m_wndSBC.GetTextLength(0, &nType);
switch (nType)
{
case 0:
// Text is drawn with a border to appear lower than the
// plane of the status bar
break;
case SBT_NOBORDERS:
// text is drawn without borders
break;
case SBT_OWNERDRAW:
// Text is drawn by the parent window
break;
case SBT_POPOUT:
// Text is drawn with a border to appear higher than the
// plane of the status bar
break;
}
CStatusBarCtrl::GetTipText
Mengambil teks tipsalat untuk panel di bilah status.
CString GetTipText(int nPane) const;
Parameter
nPane
Indeks panel bilah status berbasis nol untuk menerima teks tipsalat.
Tampilkan Nilai
Objek CString yang berisi teks yang akan digunakan dalam tipsalat.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 SB_GETTIPTEXT, seperti yang dijelaskan dalam Windows SDK.
Contoh
CString csPane0TipText = m_wndSBC.GetTipText(0);
CStatusBarctrl::IsSimple
Memeriksa kontrol jendela status untuk menentukan apakah itu dalam mode sederhana.
BOOL IsSimple() const;
Tampilkan Nilai
Bukan nol jika kontrol jendela status dalam mode sederhana; jika tidak, nol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 SB_ISSIMPLE, seperti yang dijelaskan dalam Windows SDK.
CStatusBarCtrl::SetBkColor
Mengatur warna latar belakang dalam bilah status.
COLORREF SetBkColor(COLORREF cr);
Parameter
Cr
Nilai COLORREF yang menentukan warna latar belakang baru. Tentukan nilai CLR_DEFAULT untuk menyebabkan bilah status menggunakan warna latar belakang defaultnya.
Tampilkan Nilai
Nilai COLORREF yang mewakili warna latar belakang default sebelumnya.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 SB_SETBKCOLOR, seperti yang dijelaskan dalam Windows SDK.
Contoh
m_wndSBC.SetBkColor(RGB(0, 0, 250));
HICON hIcon = AfxGetApp()->LoadIcon(IDI_PANE_0_ICON);
VERIFY(hIcon);
VERIFY(m_wndSBC.SetIcon(0, hIcon));
CStatusBarctrl::Seticon
Mengatur ikon untuk panel di bilah status.
BOOL SetIcon(
int nPane,
HICON hIcon);
Parameter
nPane
Indeks panel berbasis nol yang akan menerima ikon. Jika parameter ini adalah -1, bilah status diasumsikan sebagai bilah status sederhana.
hIcon
Tangani ke ikon yang akan diatur. Jika nilai ini NULL, ikon dihapus dari bagian .
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 SB_SETICON, seperti yang dijelaskan dalam Windows SDK.
Contoh
Lihat contoh untuk CStatusBarCtrl::SetBkColor.
CStatusBarctrl::SetMinHeight
Mengatur tinggi minimum area gambar kontrol bilah status.
void SetMinHeight(int nMin);
Parameter
nMin
Tinggi minimum, dalam piksel, kontrol.
Keterangan
Tinggi minimum adalah jumlah nMin dan dua kali lebar, dalam piksel, dari batas vertikal kontrol bilah status.
Contoh
m_wndSBC.SetMinHeight(40);
CStatusBarCtrl::SetParts
Mengatur jumlah bagian dalam kontrol bilah status dan koordinat tepi kanan setiap bagian.
BOOL SetParts(
int nParts,
int* pWidths);
Parameter
nParts
Jumlah bagian yang akan diatur. Jumlah bagian tidak boleh lebih besar dari 255.
pWidths
Alamat array bilangan bulat yang memiliki jumlah elemen yang sama dengan bagian yang ditentukan oleh nParts. Setiap elemen dalam array menentukan posisi, dalam koordinat klien, dari tepi kanan bagian yang sesuai. Jika elemen adalah - 1, posisi tepi kanan untuk bagian tersebut meluas ke tepi kanan kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Contoh
const int c_nParts = 4;
CRect rect;
m_wndSBC.GetClientRect(&rect);
int aWidths[c_nParts] = {rect.right - 300, rect.right - 200, rect.right - 100,
-1};
VERIFY(m_wndSBC.SetParts(c_nParts, aWidths));
CStatusBarctrl::SetSimple
Menentukan apakah kontrol bilah status menampilkan teks sederhana atau menampilkan semua bagian kontrol yang diatur oleh panggilan sebelumnya ke SetParts.
BOOL SetSimple(BOOL bSimple = TRUE);
Parameter
bSimple
[di] Bendera jenis tampilan. Jika parameter ini TRUE, kontrol akan menampilkan teks sederhana; jika FALSE, ini menampilkan beberapa bagian.
Tampilkan Nilai
Selalu mengembalikan 0.
Keterangan
Jika aplikasi Anda mengubah kontrol bilah status dari yang tidak sederhana menjadi sederhana, atau sebaliknya, sistem segera menguras ulang kontrol.
CStatusBarCtrl::SetText
Mengatur teks di bagian kontrol bilah status yang diberikan.
BOOL SetText(
LPCTSTR lpszText,
int nPane,
int nType);
Parameter
lpszText
Alamat string yang dihentikan null yang menentukan teks yang akan diatur. Jika nType SBT_OWNERDRAW, lpszText mewakili 32 bit data.
nPane
Indeks berbasis nol dari bagian yang akan diatur. Jika nilai ini adalah 255, kontrol bilah status diasumsikan sebagai kontrol sederhana hanya memiliki satu bagian.
nType
Jenis operasi menggambar. Lihat pesan SB_SETTEXT untuk daftar nilai yang mungkin.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Pesan membatalkan bagian kontrol yang telah berubah, menyebabkannya menampilkan teks baru saat kontrol berikutnya menerima pesan WM_PAINT.
Contoh
VERIFY(m_wndSBC.SetText(_T("Text For Pane 1"), 1, 0));
CStatusBarCtrl::SetTipText
Mengatur teks tipsalat untuk panel di bilah status.
void SetTipText(
int nPane,
LPCTSTR pszTipText);
Parameter
nPane
Indeks panel bilah status berbasis nol untuk menerima teks tipsalat.
pszTipText
Penunjuk ke string yang berisi teks tipsalat.
Keterangan
Fungsi anggota ini mengimplementasikan perilaku pesan Win32 SB_SETTIPTEXT, seperti yang dijelaskan dalam Windows SDK.
Contoh
m_wndSBC.SetTipText(0, _T("This is Pane 0"));
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk