CMFCStatusBar – třída

Poznámka:

Knihovna MFC (Microsoft Foundation Classes) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.

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