Sdílet prostřednictvím


CMFCStatusBar – třída

Třída CMFCStatusBar implementuje stavový řádek podobný CStatusBar třídě. Třída CMFCStatusBar ale nemá funkce, které CStatusBar třída nenabízí, například schopnost zobrazovat obrázky, animace a indikátory průběhu a schopnost reagovat na poklikání myší.

Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.

Syntaxe

class CMFCStatusBar : public CPane

Členové

Veřejné metody

Název Popis
CMFCStatusBar::CalcFixedLayout (Přepsání CBasePane::CalcFixedLayout.)
CMFCStatusBar::CommandToIndex
CMFCStatusBar::Create Vytvoří řídicí panel a připojí ho k objektu CPane . (Přepsání CPane::Create.)
CMFCStatusBar::CreateEx Vytvoří řídicí panel a připojí ho k objektu CPane . (Přepsání CPane::CreateEx.)
CMFCStatusBar::D oesAllowDynInsertBefore Určuje, zda lze mezi toto podokno a nadřazený rámec dynamicky vložit jiné podokno. (Přepsání CBasePane::D oesAllowDynInsertBefore.)
CMFCStatusBar::EnablePaneDoubleClick Povolí nebo zakáže zpracování myši poklikáním na stavovém řádku.
CMFCStatusBar::EnablePaneProgressBar Zobrazí indikátor průběhu v zadaném podokně.
CMFCStatusBar::GetCount Vrátí počet podoken na stavovém řádku.
CMFCStatusBar::GetDrawExtendedArea
CMFCStatusBar::GetExtendedArea
CMFCStatusBar::GetItemID
CMFCStatusBar::GetItemRect
CMFCStatusBar::GetPaneInfo
CMFCStatusBar::GetPaneProgress
CMFCStatusBar::GetPaneStyle Vrátí styl podokna. (Přepsání CBasePane::GetPaneStyle.)
CMFCStatusBar::GetPaneText
CMFCStatusBar::GetPaneWidth Vrátí šířku v pixelech zadaného podokna stavového řádku.
CMFCStatusBar::GetTipText Vrátí text popisu nástroje pro zadané podokno stavového řádku.
CMFCStatusBar::InvalidatePaneContent Zruší platnost zadaného podokna a překreslí jeho obsah.
CMFCStatusBar::P reCreateWindow Volá se rozhraním před vytvořením okna Windows připojeného k tomuto CWnd objektu. (Přepsání CWnd::P reCreateWindow.)
CMFCStatusBar::SetDrawExtendedArea
CMFCStatusBar::SetIndicators
CMFCStatusBar::SetPaneAnimation Přiřadí animaci k zadanému podoknu.
CMFCStatusBar::SetPaneBackgroundColor Nastaví barvu pozadí pro zadané podokno stavového řádku.
CMFCStatusBar::SetPaneIcon Nastaví ikonu indikátoru pro zadané podokno stavového řádku.
CMFCStatusBar::SetPaneInfo
CMFCStatusBar::SetPaneProgress Nastaví aktuální průběh indikátoru průběhu pro zadané podokno stavového řádku.
CMFCStatusBar::SetPaneStyle Nastaví styl podokna. (Přepsání CBasePane::SetPaneStyle.)
CMFCStatusBar::SetPaneText
CMFCStatusBar::SetPaneTextColor Nastaví barvu textu pro zadané podokno stavového řádku.
CMFCStatusBar::SetPaneWidth Nastaví šířku v pixelech zadaného podokna stavového řádku.
CMFCStatusBar::SetTipText Nastaví text popisu nástroje pro zadané podokno stavového řádku.

Chráněné metody

Název Popis
CMFCStatusBar::OnDrawPane Volá se rozhraním při překreslení podokna stavového řádku.

Poznámky

Následující diagram znázorňuje obrázek stavového řádku z ukázkové aplikace stavového řádku.

Příklad CMFCStatusBar.

Příklady

Následující příklad ukazuje místní proměnné, které aplikace používá k volání různých metod ve CMFCStatusBar třídě. Tyto proměnné jsou deklarovány v StatusBarDemoView.h. Hlavní rámec je deklarován v MainFrm.h, dokument je deklarován v StatusBarDemoDoc.h a zobrazení je deklarováno v StatusBarDemoView.h. Tento fragment kódu je součástí ukázky ukázky stavového řádku.

int m_nProgressCurr;
BOOL m_bInProgress;

CImageList m_imlStatusAnimation;
BOOL m_bInAnimation;

CBitmap m_bmpIcon1;
CBitmap m_bmpIcon2;

Následující příklad ukazuje, jak získat odkaz na CMFCStatusBar objekt zavedením GetStatusBar metody v MainFrm.h a následné volání této metody z GetStatusBar metody v StatusBarDemoView.h. Tento fragment kódu je součástí ukázky ukázky stavového řádku.

// in MainFrm.h
public:
CMFCStatusBar &GetStatusBar()
{
   return m_wndStatusBar;
}
// in StatusBarDemoView.h
CMFCStatusBar &GetStatusBar() const
{
   return ((CMainFrame *)AfxGetMainWnd())->GetStatusBar();
}

Následující příklad ukazuje, jak volat různé metody ve CMFCStatusBar třídě v StatusBarDemoView.cpp. Konstanty jsou deklarovány v MainFrm.h. Příklad ukazuje, jak nastavit ikonu, nastavit text popisu podokna stavového řádku, zobrazit indikátor průběhu v zadaném podokně, přiřadit animaci k zadanému podoknu, nastavit text a šířku podokna stavového řádku a nastavit aktuální indikátor průběhu indikátoru průběhu pro podokno stavového řádku. Tento fragment kódu je součástí ukázky ukázky stavového řádku.

// 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);

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CBasePane

Podokno CPane

CMFCStatusBar

Požadavky

Záhlaví: afxstatusbar.h

CMFCStatusBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parametry

[v] bStretch
[v] bHorz

Návratová hodnota

Poznámky

CMFCStatusBar::CommandToIndex

int CommandToIndex(UINT nIDFind) const;

Parametry

[v] nIDFind

Návratová hodnota

Poznámky

CMFCStatusBar::Create

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

Parametry

[v] pParentWnd
[v] dwStyle
[v] Nid

Návratová hodnota

Poznámky

CMFCStatusBar::CreateEx

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

Parametry

[v] pParentWnd
[v] dwCtrlStyle
[v] dwStyle
[v] Nid

Návratová hodnota

Poznámky

CMFCStatusBar::D oesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

Návratová hodnota

Poznámky

CMFCStatusBar::EnablePaneDoubleClick

Povolí nebo zakáže zpracování myši poklikáním na stavovém řádku.

void EnablePaneDoubleClick(BOOL bEnable=TRUE);

Parametry

bEnable
[v] Pokud je pravda, povolte zpracování myši poklikáním. Jinak zakažte zpracování myši poklikáním.

Poznámky

Pokud je stavový řádek povolený ke zpracování poklikání, systém Windows odešle oznámení WM_COMMAND společně s ID prostředku vlastníkovi stavového řádku pokaždé, když uživatel dvakrát klikne na podokno stavového řádku.

CMFCStatusBar::EnablePaneProgressBar

Zobrazí indikátor průběhu v zadaném podokně.

void EnablePaneProgressBar(
    int nIndex,
    long nTotal=100,
    BOOL bDisplayText=FALSE,
    COLORREF clrBar=-1,
    COLORREF clrBarDest=-1,
    COLORREF clrProgressText=-1);

Parametry

nIndex
[v] Určuje index podokna, jehož indikátor průběhu se má povolit.

nTotal
[v] Určuje maximální hodnotu indikátoru průběhu.

bDisplayText
[v] Určuje, jestli má indikátor průběhu zobrazovat aktuální hodnotu průběhu.

clrBar
[v] Určuje barvu pozadí indikátoru průběhu.

clrBarDest
[v] Určuje sekundární barvu pozadí indikátoru průběhu. Použijte jinou hodnotu než clrBar k vyplnění barvou prolnutím do přechodu.

clrProgressText
[v] Určuje barvu textu indikátoru průběhu.

Poznámky

Pokud chcete zakázat volání EnablePaneProgressBar indikátoru průběhu s nTotal nastavenou na hodnotu -1. Ve výchozím nastavení je nTotal nastaveno na 100. Proto k zobrazení průběhu v procentech nepotřebujete žádné další výpočty.

Pro clrBar a clrBarDest byste měli předat různé hodnoty, aby barva pozadí indikátoru průběhu zobrazovala barvu prolnutí do přechodu. .

Chcete-li nastavit aktuální průběh, zavolejte CMFCStatusBar::SetPaneProgress metoda.

CMFCStatusBar::GetCount

Načte počet podoken na stavovém řádku.

int GetCount() const;

Návratová hodnota

Počet podoken na stavovém řádku

CMFCStatusBar::GetDrawExtendedArea

BOOL GetDrawExtendedArea() const;

Návratová hodnota

Poznámky

CMFCStatusBar::GetExtendedArea

virtual BOOL GetExtendedArea(CRect& rect) const;

Parametry

[v] Rect

Návratová hodnota

Poznámky

CMFCStatusBar::GetItemID

UINT GetItemID(int nIndex) const;

Parametry

[v] nIndex

Návratová hodnota

Poznámky

CMFCStatusBar::GetItemRect

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parametry

[v] nIndex
[v] lpRect

Poznámky

CMFCStatusBar::GetPaneInfo

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

Parametry

[v] nIndex
[v] Nid
[v] nStyle
[v] cxWidth

Poznámky

CMFCStatusBar::GetPaneProgress

long GetPaneProgress(int nIndex) const;

Parametry

[v] nIndex

Návratová hodnota

Poznámky

CMFCStatusBar::GetPaneStyle

UINT GetPaneStyle(int nIndex) const;

Parametry

[v] nIndex

Návratová hodnota

Poznámky

CMFCStatusBar::GetPaneText

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

CString GetPaneText(int nIndex) const;

Parametry

[v] nIndex
[v] s

Návratová hodnota

Poznámky

CMFCStatusBar::GetPaneWidth

Načte šířku podokna stavového řádku.

int GetPaneWidth(int nIndex) const;

Parametry

nIndex
[v] Určuje index podokna stavového řádku.

Návratová hodnota

Šířka podokna stavového řádku, které nIndex určuje, jinak nula, pokud podokno stavového řádku neexistuje.

CMFCStatusBar::GetTipText

Načtěte text popisu podokna stavového řádku.

CString GetTipText(int nIndex) const;

Parametry

nIndex
[v] Určuje index podokna, pro které se má načíst text popisu nástroje.

Návratová hodnota

Text popisu podokna stavového řádku, který nIndex určuje. V opačném případě prázdný řetězec, pokud pro zadaný nIndex neexistuje podokno stavového řádku nebo pokud je jeho text popisu prázdný.

CMFCStatusBar::InvalidatePaneContent

Zneplatnit podokno stavového řádku a překreslit jeho obsah.

void InvalidatePaneContent(int nIndex);

Parametry

nIndex
[v] Určuje index podokna, jehož obsah se má zneplatnit a překreslit.

Poznámky

Pokud je stavový řádek neplatný, je označen pro překreslení. Systém Windows ji překreslí, když UpdateWindow metoda odešle WM_PAINT zprávu do OnPaint metody.

CMFCStatusBar::OnDrawPane

Překreslit podokno stavového řádku.

virtual void OnDrawPane(
    CDC* pDC,
    CMFCStatusBarPaneInfo* pPane);

Parametry

pDC
[v] Ukazatel na kontext zařízení pro kreslení.

pPane
[v] Ukazatel na CMFCStatusBarPaneInfo strukturu, která obsahuje informace o podokně, které se mají překreslit.

Poznámky

Ve výchozím nastavení OnDrawPane překreslí podokno pomocí kontextu zařízení pDC podle stylu a obsahu podokna.

Přepsat tuto metodu v -odvozené CMFCStatusBartřídě přizpůsobit vzhled podokna.

CMFCStatusBar::P reCreateWindow

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parametry

[v] Cs

Návratová hodnota

Poznámky

CMFCStatusBar::SetDrawExtendedArea

void SetDrawExtendedArea(BOOL bSet = TRUE);

Parametry

[v] bSet

Poznámky

CMFCStatusBar::SetIndicators

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

Parametry

[v] lpIDArray
[v] nIDCount

Návratová hodnota

Poznámky

CMFCStatusBar::SetPaneAnimation

Přiřadí animaci k zadanému podoknu.

void SetPaneAnimation(
    int nIndex,
    HIMAGELIST hImageList,
    UINT nFrameRate=500,
    BOOL bUpdate=TRUE);

Parametry

nIndex
[v] Určuje index podokna, ke kterému chcete přiřadit animaci.

hImageList
[v] Určuje popisovač seznamu obrázků, který obsahuje snímky animace.

nFrameRate
[v] Určuje frekvenci snímků v milisekundách animace.

bUpdate
[v] Pokud ano, aktualizujte obsah podokna okamžitě. V opačném případě se obsah podokna aktualizuje, když je neplatný.

Poznámky

Pokud chcete aktuální animaci zakázat, zavolejte SetPaneAnimation s nastavenou hImageList hodnotou NULL.

CMFCStatusBar::SetPaneBackgroundColor

Nastaví barvu pozadí podokna stavového řádku.

void SetPaneBackgroundColor(
    int nIndex,
    COLORREF clrBackground=(COLORREF)-1,
    BOOL bUpdate=TRUE);

Parametry

nIndex
[v] Určuje index podokna, pro které chcete nastavit novou barvu pozadí.

clrBackground
[v] Určuje novou barvu pozadí.

bUpdate
[v] Pokud ano, aktualizujte obsah podokna okamžitě. Jinak neaktualizovat obsah podokna, dokud podokno nebude zneplatněn jinou metodou.

CMFCStatusBar::SetPaneIcon

Nastavte ikonu podokna stavového řádku.

void SetPaneIcon(
    int nIndex,
    HICON hIcon,
    BOOL bUpdate=TRUE);

void SetPaneIcon(
    int nIndex,
    HBITMAP hBmp,
    COLORREF clrTransparent=RGB(255, 0, 255),
    BOOL bUpdate=TRUE);

Parametry

nIndex
[v] Určuje index podokna, pro které se má obrázek nastavit.

hIcon
[v] Určuje popisovač ikony, která se má nastavit jako obrázek podokna.

bUpdate
[v] Určuje, jestli se má obsah podokna aktualizovat okamžitě.

hBmp
[v] Určuje úchyt rastrového obrázku, který se má nastavit jako obrázek podokna.

clrTransparent
[v] Určuje průhlednou barvu rastrového obrázku, kterou hBmp označuje.

Poznámky

Můžete předat HICON nebo HBITMAP společně s průhlednou barvou a nastavit tak obrázek podokna. Pokud už nechcete obrázek zobrazit, předejte hodnotu NULL jako popisovač obrázku.

Pokud je spuštěná animace, kterou má CMFCStatusBar::SetPaneAnimation nastavenou, animace se zastaví.

CMFCStatusBar::SetPaneInfo

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

Parametry

[v] nIndex
[v] Nid
[v] nStyle
[v] cxWidth

Poznámky

CMFCStatusBar::SetPaneProgress

Nastavte aktuální indikátor průběhu indikátoru průběhu pro zadané podokno.

void SetPaneProgress(
    int nIndex,
    long nCurr,
    BOOL bUpdate=TRUE);

Parametry

nIndex
[v] Určuje index podokna, pro které se má indikátor průběhu aktualizovat.

nCurr
[v] Určuje aktuální hodnotu indikátoru průběhu.

bUpdate
[v] Určuje, jestli se má podokno aktualizovat okamžitě.

Poznámky

Tuto metodu zavolejte, pokud chcete aktualizovat indikátor průběhu indikátoru průběhu v zadaném podokně.

Chcete-li použít tuto funkci pro dané podokno, musíte nejprve volat CMFCStatusBar::EnablePaneProgressBar .

CMFCStatusBar::SetPaneStyle

void SetPaneStyle(
    int nIndex,
    UINT nStyle);

Parametry

[v] nIndex
[v] nStyle

Poznámky

CMFCStatusBar::SetPaneText

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

Parametry

[v] nIndex
[v] lpszNewText
[v] bUpdate

Návratová hodnota

Poznámky

CMFCStatusBar::SetPaneTextColor

Nastaví barvu textu zadaného podokna.

void SetPaneTextColor(
    int nIndex,
    COLORREF clrText=(COLORREF)-1,
    BOOL bUpdate=TRUE);

Parametry

nIndex
[v] Určuje index podokna, ke kterému chcete přiřadit novou barvu textu.

clrText
[v] Určuje barvu textu.

bUpdate
[v] Pokud ano, aktualizujte obsah podokna okamžitě. Jinak neaktualizovat obsah podokna, dokud podokno nebude zneplatněn jinou metodou.

CMFCStatusBar::SetPaneWidth

Nastavte šířku podokna stavového řádku.

void SetPaneWidth(
    int nIndex,
    int cx);

Parametry

nIndex
[v] Index podokna stavového řádku, pro které chcete nastavit novou šířku.

cx
[v] Nová šířka podokna stavového řádku v pixelech.

CMFCStatusBar::SetTipText

Nastavte text popisu podokna stavového řádku.

void SetTipText(
    int nIndex,
    LPCTSTR pszTipText);

Parametry

nIndex
[v] Index podokna, ke kterému chcete přiřadit text popisu.

pszTipText
[v] Nový text popisu

Viz také

Graf hierarchie
Třídy
CPane – třída
CStatusBar – třída