Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ří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
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