Kelas CMFCStatusBar
Kelas CMFCStatusBar
mengimplementasikan bilah status yang mirip CStatusBar
dengan kelas . Namun, CMFCStatusBar
kelas ini memiliki fitur yang tidak ditawarkan oleh CStatusBar
kelas, seperti kemampuan untuk menampilkan gambar, animasi, dan bilah kemajuan; dan kemampuan untuk merespons klik ganda mouse.
Untuk detail selengkapnya, lihat kode sumber yang terletak di folder VC\atlmfc\src\mfc dari penginstalan Visual Studio Anda.
Sintaks
class CMFCStatusBar : public CPane
Anggota
Metode Publik
Nama | Deskripsi |
---|---|
CMFCStatusBar::CalcFixedLayout | (Penimpaan CBasePane::CalcFixedLayout.) |
CMFCStatusBar::CommandToIndex | |
CMFCStatusBar::Create | Membuat bilah kontrol dan melampirkannya ke objek CPane . (Penimpaan CPane::Create.) |
CMFCStatusBar::CreateEx | Membuat bilah kontrol dan melampirkannya ke objek CPane . (Penimpaan CPane::CreateEx.) |
CMFCStatusBar::D oesAllowDynInsertBefore | Menentukan apakah panel lain dapat disisipkan secara dinamis antara panel ini dan bingkai induk. (Penimpaan CBasePane::D oesAllowDynInsertBefore.) |
CMFCStatusBar::EnablePaneDoubleClick | Mengaktifkan atau menonaktifkan penanganan klik ganda mouse pada bilah status. |
CMFCStatusBar::EnablePaneProgressBar | Menampilkan bilah kemajuan pada panel yang ditentukan. |
CMFCStatusBar::GetCount | Mengembalikan jumlah panel pada bilah status. |
CMFCStatusBar::GetDrawExtendedArea | |
CMFCStatusBar::GetExtendedArea | |
CMFCStatusBar::GetItemID | |
CMFCStatusBar::GetItemRect | |
CMFCStatusBar::GetPaneInfo | |
CMFCStatusBar::GetPaneProgress | |
CMFCStatusBar::GetPaneStyle | Mengembalikan gaya panel. (Penimpaan CBasePane::GetPaneStyle.) |
CMFCStatusBar::GetPaneText | |
CMFCStatusBar::GetPaneWidth | Mengembalikan lebar, dalam piksel, dari panel bilah status yang ditentukan. |
CMFCStatusBar::GetTipText | Mengembalikan teks tip alat untuk panel bilah status yang ditentukan. |
CMFCStatusBar::InvalidatePaneContent | Membatalkan panel yang ditentukan dan menggambar ulang kontennya. |
CMFCStatusBar::P reCreateWindow | Dipanggil oleh kerangka kerja sebelum pembuatan jendela Windows yang dilampirkan ke objek ini CWnd . (Penimpaan CWnd::P reCreateWindow.) |
CMFCStatusBar::SetDrawExtendedArea | |
CMFCStatusBar::SetIndicators | |
CMFCStatusBar::SetPaneAnimation | Menetapkan animasi ke panel yang ditentukan. |
CMFCStatusBar::SetPaneBackgroundColor | Mengatur warna latar belakang untuk panel bilah status yang ditentukan. |
CMFCStatusBar::SetPaneIcon | Mengatur ikon indikator untuk panel bilah status yang ditentukan. |
CMFCStatusBar::SetPaneInfo | |
CMFCStatusBar::SetPaneProgress | Mengatur kemajuan bilah kemajuan saat ini untuk panel bilah status yang ditentukan. |
CMFCStatusBar::SetPaneStyle | Mengatur gaya panel. (Penimpaan CBasePane::SetPaneStyle.) |
CMFCStatusBar::SetPaneText | |
CMFCStatusBar::SetPaneTextColor | Mengatur warna teks untuk panel bilah status yang ditentukan. |
CMFCStatusBar::SetPaneWidth | Mengatur lebar dalam piksel dari panel yang ditentukan dari bilah status. |
CMFCStatusBar::SetTipText | Mengatur teks tip alat untuk panel bilah status yang ditentukan. |
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
CMFCStatusBar::OnDrawPane | Dipanggil oleh kerangka kerja saat menggambar ulang panel bilah status. |
Keterangan
Diagram berikut menunjukkan gambar bilah status dari aplikasi sampel Demo Bilah Status.
Contoh
Contoh berikut menunjukkan variabel lokal yang digunakan aplikasi untuk memanggil berbagai metode di CMFCStatusBar
kelas. Variabel ini dideklarasikan dalam StatusBarDemoView.h. Bingkai utama dideklarasikan dalam MainFrm.h, dokumen dideklarasikan dalam StatusBarDemoDoc.h, dan tampilan dideklarasikan dalam StatusBarDemoView.h. Cuplikan kode ini adalah bagian dari sampel Demo Bilah Status.
int m_nProgressCurr;
BOOL m_bInProgress;
CImageList m_imlStatusAnimation;
BOOL m_bInAnimation;
CBitmap m_bmpIcon1;
CBitmap m_bmpIcon2;
Contoh berikut menunjukkan cara mendapatkan referensi ke CMFCStatusBar
objek dengan memperkenalkan GetStatusBar
metode di MainFrm.h lalu memanggil metode ini dari GetStatusBar
metode di StatusBarDemoView.h. Cuplikan kode ini adalah bagian dari sampel Demo Bilah Status.
// in MainFrm.h
public:
CMFCStatusBar &GetStatusBar()
{
return m_wndStatusBar;
}
// in StatusBarDemoView.h
CMFCStatusBar &GetStatusBar() const
{
return ((CMainFrame *)AfxGetMainWnd())->GetStatusBar();
}
Contoh berikut menunjukkan cara memanggil berbagai metode di CMFCStatusBar
kelas di StatusBarDemoView.cpp. Konstanta dideklarasikan dalam MainFrm.h. Contoh memperlihatkan cara mengatur ikon, mengatur teks tipsalat panel bilah status, menampilkan bilah kemajuan pada panel yang ditentukan, menetapkan animasi ke panel yang ditentukan, mengatur teks dan lebar panel bilah status, dan mengatur indikator kemajuan saat ini dari bilah kemajuan untuk panel bilah status. Cuplikan kode ini adalah bagian dari sampel Demo Bilah Status.
// in MainFrm.h
const int nStatusIcon = 0;
const int nStatusInfo = 1;
const int nStatusProgress = 2;
const int nStatusLabel = 3;
const int nStatusAnimation = 4;
// in StatusBarDemoView.cpp
GetStatusBar().SetPaneIcon(nStatusIcon, m_bmpIcon1);
GetStatusBar().SetTipText(nStatusIcon, _T("This is a tooltip"));
GetStatusBar().EnablePaneProgressBar(nStatusProgress, PROGRESS_MAX);
GetStatusBar().SetPaneAnimation(nStatusAnimation, NULL);
GetStatusBar().SetPaneAnimation(nStatusAnimation, m_imlStatusAnimation);
GetStatusBar().SetPaneText(nStatusAnimation, _T(""));
GetStatusBar().SetPaneWidth(nStatusAnimation, 16);
GetStatusBar().SetPaneProgress(nStatusProgress, m_nProgressCurr);
Hierarki Warisan
Persyaratan
Header: afxstatusbar.h
CMFCStatusBar::CalcFixedLayout
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parameter
[di] bStretch
[di] bHorz
Tampilkan Nilai
Keterangan
CMFCStatusBar::CommandToIndex
int CommandToIndex(UINT nIDFind) const;
Parameter
[di] nIDFind
Tampilkan Nilai
Keterangan
CMFCStatusBar::Create
BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Parameter
[di] pParentWnd
[di] dwStyle
[di] Nid
Tampilkan Nilai
Keterangan
CMFCStatusBar::CreateEx
BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = 0,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
UINT nID = AFX_IDW_STATUS_BAR);
Parameter
[di] pParentWnd
[di] dwCtrlStyle
[di] dwStyle
[di] Nid
Tampilkan Nilai
Keterangan
CMFCStatusBar::D oesAllowDynInsertBefore
virtual BOOL DoesAllowDynInsertBefore() const;
Tampilkan Nilai
Keterangan
CMFCStatusBar::EnablePaneDoubleClick
Mengaktifkan atau menonaktifkan penanganan klik ganda mouse pada bilah status.
void EnablePaneDoubleClick(BOOL bEnable=TRUE);
Parameter
bEnable
[di] Jika TRUE, aktifkan pemrosesan mouse klik dua kali. Jika tidak, nonaktifkan pemrosesan mouse klik dua kali.
Keterangan
Jika bilah status diaktifkan untuk memproses klik ganda, Windows mengirimkan pemberitahuan WM_COMMAND bersama dengan ID sumber daya ke pemilik bilah status setiap kali pengguna mengklik ganda pada panel bilah status.
CMFCStatusBar::EnablePaneProgressBar
Tampilkan bilah kemajuan pada panel yang ditentukan.
void EnablePaneProgressBar(
int nIndex,
long nTotal=100,
BOOL bDisplayText=FALSE,
COLORREF clrBar=-1,
COLORREF clrBarDest=-1,
COLORREF clrProgressText=-1);
Parameter
nIndex
[di] Menentukan indeks panel yang bilah kemajuannya diaktifkan.
nTotal
[di] Menentukan nilai maksimum untuk bilah kemajuan.
bDisplayText
[di] Menentukan apakah bilah kemajuan harus menampilkan nilai kemajuan saat ini.
clrBar
[di] Menentukan warna latar belakang bilah kemajuan.
clrBarDest
[di] Menentukan warna sekunder dari latar belakang bilah kemajuan. Gunakan nilai yang berbeda dari clrBar untuk diisi oleh warna yang dicambuk ke dalam gradien.
clrProgressText
[di] Menentukan warna teks bilah kemajuan.
Keterangan
Jika Anda ingin menonaktifkan panggilan EnablePaneProgressBar
bilah kemajuan dengan nTotal diatur ke -1. Secara default nTotal diatur ke 100. Oleh karena itu, Anda tidak memerlukan perhitungan tambahan untuk menampilkan kemajuan sebagai persentase.
Anda harus meneruskan nilai yang berbeda untuk clrBar dan clrBarDest sehingga warna latar belakang bilah kemajuan menampilkan warna yang dicambuk ke dalam gradien. .
Untuk mengatur kemajuan saat ini, panggil metode CMFCStatusBar::SetPaneProgress .
CMFCStatusBar::GetCount
Mengambil jumlah panel di bilah status.
int GetCount() const;
Tampilkan Nilai
Jumlah panel di bilah status.
CMFCStatusBar::GetDrawExtendedArea
BOOL GetDrawExtendedArea() const;
Tampilkan Nilai
Keterangan
CMFCStatusBar::GetExtendedArea
virtual BOOL GetExtendedArea(CRect& rect) const;
Parameter
[di] rect
Tampilkan Nilai
Keterangan
CMFCStatusBar::GetItemID
UINT GetItemID(int nIndex) const;
Parameter
[di] nIndex
Tampilkan Nilai
Keterangan
CMFCStatusBar::GetItemRect
void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parameter
[di] nIndex
[di] lpRect
Keterangan
CMFCStatusBar::GetPaneInfo
void GetPaneInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& cxWidth) const;
Parameter
[di] nIndex
[di] Nid
[di] nStyle
[di] cxWidth
Keterangan
CMFCStatusBar::GetPaneProgress
long GetPaneProgress(int nIndex) const;
Parameter
[di] nIndex
Tampilkan Nilai
Keterangan
CMFCStatusBar::GetPaneStyle
UINT GetPaneStyle(int nIndex) const;
Parameter
[di] nIndex
Tampilkan Nilai
Keterangan
CMFCStatusBar::GetPaneText
void GetPaneText(
int nIndex,
CString& s) const;
CString GetPaneText(int nIndex) const;
Parameter
[di] nIndex
[di] s
Tampilkan Nilai
Keterangan
CMFCStatusBar::GetPaneWidth
Mengambil lebar panel bilah status.
int GetPaneWidth(int nIndex) const;
Parameter
nIndex
[di] Menentukan indeks panel bilah status.
Tampilkan Nilai
Lebar panel bilah status yang ditentukan nIndex ; jika tidak, nol jika panel bilah status tidak ada.
CMFCStatusBar::GetTipText
Ambil teks tipsalat panel bilah status.
CString GetTipText(int nIndex) const;
Parameter
nIndex
[di] Menentukan indeks panel untuk mengambil teks tip alat.
Tampilkan Nilai
Teks tipsalat panel bilah status yang ditentukan nIndex . Jika tidak, string kosong jika panel bilah status tidak ada untuk nIndex yang ditentukan atau jika teks tipsalatnya kosong.
CMFCStatusBar::InvalidatePaneContent
Batalkan panel bilah status dan eksekusi ulang kontennya.
void InvalidatePaneContent(int nIndex);
Parameter
nIndex
[di] Menentukan indeks panel yang kontennya akan divalidasi dan digambar ulang.
Keterangan
Ketika bilah status tidak valid, bilah tersebut ditandai untuk dirawat ulang. Windows menggambar ulang ketika UpdateWindow
metode mengirim pesan WM_PAINT ke OnPaint
metode .
CMFCStatusBar::OnDrawPane
Menggambar ulang panel bilah status.
virtual void OnDrawPane(
CDC* pDC,
CMFCStatusBarPaneInfo* pPane);
Parameter
pDC
[di] Penunjuk ke konteks perangkat untuk menggambar.
pPane
[di] Penunjuk ke CMFCStatusBarPaneInfo
struktur yang berisi informasi tentang panel yang akan digambar ulang.
Keterangan
Secara default, OnDrawPane
menggambar ulang panel dengan menggunakan pDC konteks perangkat sesuai dengan gaya dan konten panel.
Ambil alih metode ini di CMFCStatusBar
kelas -turunan untuk menyesuaikan tampilan panel.
CMFCStatusBar::P reCreateWindow
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parameter
[di] Cs
Tampilkan Nilai
Keterangan
CMFCStatusBar::SetDrawExtendedArea
void SetDrawExtendedArea(BOOL bSet = TRUE);
Parameter
[di] bSet
Keterangan
CMFCStatusBar::SetIndicators
BOOL SetIndicators(
const UINT* lpIDArray,
int nIDCount);
Parameter
[di] lpIDArray
[di] nIDCount
Tampilkan Nilai
Keterangan
CMFCStatusBar::SetPaneAnimation
Menetapkan animasi ke panel yang ditentukan.
void SetPaneAnimation(
int nIndex,
HIMAGELIST hImageList,
UINT nFrameRate=500,
BOOL bUpdate=TRUE);
Parameter
nIndex
[di] Menentukan indeks panel yang ingin Anda tetapkan animasinya.
hImageList
[di] Menentukan handel ke daftar gambar yang menyimpan bingkai animasi.
nFrameRate
[di] Menentukan kecepatan bingkai, dalam milidetik, untuk animasi.
bUpdate
[di] Jika TRUE, segera perbarui konten panel. Jika tidak, konten panel diperbarui saat tidak valid.
Keterangan
Jika Anda ingin menonaktifkan animasi saat ini, panggil SetPaneAnimation
dengan hImageList
diatur ke NULL.
CMFCStatusBar::SetPaneBackgroundColor
Mengatur warna latar belakang panel bilah status.
void SetPaneBackgroundColor(
int nIndex,
COLORREF clrBackground=(COLORREF)-1,
BOOL bUpdate=TRUE);
Parameter
nIndex
[di] Menentukan indeks panel untuk mengatur warna latar belakang baru.
clrBackground
[di] Menentukan warna latar belakang baru.
bUpdate
[di] Jika TRUE, segera perbarui konten panel. Jika tidak, jangan perbarui konten panel hingga panel tidak valid oleh metode lain.
CMFCStatusBar::SetPaneIcon
Atur ikon panel bilah status.
void SetPaneIcon(
int nIndex,
HICON hIcon,
BOOL bUpdate=TRUE);
void SetPaneIcon(
int nIndex,
HBITMAP hBmp,
COLORREF clrTransparent=RGB(255, 0, 255),
BOOL bUpdate=TRUE);
Parameter
nIndex
[di] Menentukan indeks panel untuk mengatur gambar.
hIcon
[di] Menentukan handel ke ikon yang akan diatur sebagai gambar panel.
bUpdate
[di] Menentukan apakah akan segera memperbarui konten panel.
hBmp
[di] Menentukan handel ke bitmap yang akan diatur sebagai gambar panel.
clrTransparent
[di] Menentukan warna transparan bitmap yang ditunjukkan hBmp .
Keterangan
Anda dapat meneruskan HICON atau HBITMAP bersama dengan warna transparan untuk mengatur gambar panel. Jika Anda tidak ingin menampilkan gambar lagi, berikan nilai NULL sebagai handel gambar.
Jika ada animasi yang berjalan yang telah diatur CMFCStatusBar::SetPaneAnimation , animasi akan dihentikan.
CMFCStatusBar::SetPaneInfo
void SetPaneInfo(
int nIndex,
UINT nID,
UINT nStyle,
int cxWidth);
Parameter
[di] nIndex
[di] Nid
[di] nStyle
[di] cxWidth
Keterangan
CMFCStatusBar::SetPaneProgress
Atur indikator kemajuan saat ini dari bilah kemajuan untuk panel yang ditentukan.
void SetPaneProgress(
int nIndex,
long nCurr,
BOOL bUpdate=TRUE);
Parameter
nIndex
[di] Menentukan indeks panel untuk memperbarui indikator kemajuan.
nCurr
[di] Menentukan nilai indikator kemajuan saat ini.
bUpdate
[di] Menentukan apakah panel harus segera diperbarui.
Keterangan
Panggil metode ini saat Anda ingin memperbarui indikator kemajuan untuk bilah kemajuan di panel yang ditentukan.
Untuk menggunakan fungsi ini untuk panel yang diberikan, Anda harus memanggil CMFCStatusBar::EnablePaneProgressBar terlebih dahulu.
CMFCStatusBar::SetPaneStyle
void SetPaneStyle(
int nIndex,
UINT nStyle);
Parameter
[di] nIndex
[di] nStyle
Keterangan
CMFCStatusBar::SetPaneText
virtual BOOL SetPaneText(
int nIndex,
LPCTSTR lpszNewText,
BOOL bUpdate = TRUE);
Parameter
[di] nIndex
[di] lpszNewText
[di] bUpdate
Tampilkan Nilai
Keterangan
CMFCStatusBar::SetPaneTextColor
Mengatur warna teks dari panel yang ditentukan.
void SetPaneTextColor(
int nIndex,
COLORREF clrText=(COLORREF)-1,
BOOL bUpdate=TRUE);
Parameter
nIndex
[di] Menentukan indeks panel yang ingin Anda tetapkan warna teks barunya.
clrText
[di] Menentukan warna teks.
bUpdate
[di] Jika TRUE, segera perbarui konten panel. Jika tidak, jangan perbarui konten panel hingga panel tidak valid oleh metode lain.
CMFCStatusBar::SetPaneWidth
Atur lebar panel bilah status.
void SetPaneWidth(
int nIndex,
int cx);
Parameter
nIndex
[di] Indeks panel bilah status untuk mengatur lebar baru.
cx
[di] Lebar baru panel bilah status, dalam piksel.
CMFCStatusBar::SetTipText
Atur teks tipsalat panel bilah status.
void SetTipText(
int nIndex,
LPCTSTR pszTipText);
Parameter
nIndex
[di] Indeks panel yang ingin Anda tetapkan teks tipsalatnya.
pszTipText
[di] Teks tipsalat baru.