Bagikan melalui


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 CMFCStatusBar.

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

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCStatusBar

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 CMFCStatusBarkelas -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.

Lihat juga

Bagan Hierarki
Kelas
Kelas CPane
Kelas CStatusBar