Sdílet prostřednictvím


CStatusBar – třída

Řídicí panel s řádkem textových výstupních podoken nebo indikátory

Syntaxe

class CStatusBar : public CControlBar

Členové

Veřejné konstruktory

Název Popis
CStatusBar::CStatusBar CStatusBar Vytvoří objekt.

Veřejné metody

Název Popis
CStatusBar::CommandToIndex Získá index pro dané ID ukazatele.
CStatusBar::Create Vytvoří stavový řádek, připojí ho k objektu CStatusBar a nastaví počáteční písmo a výšku pruhu.
CStatusBar::CreateEx CStatusBar Vytvoří objekt s dalšími styly pro vložený CStatusBarCtrl objekt.
CStatusBar::D rawItem Volá se, když se změní vizuální aspekt ovládacího prvku stavového řádku pro kreslení vlastníka.
CStatusBar::GetItemID Získá ID ukazatele pro daný index.
CStatusBar::GetItemRect Získá obdélník zobrazení pro daný index.
CStatusBar::GetPaneInfo Získá ID ukazatele, styl a šířku pro daný index.
CStatusBar::GetPaneStyle Získá styl ukazatele pro daný index.
CStatusBar::GetPaneText Získá text indikátoru pro daný index.
CStatusBar::GetStatusBarCtrl Umožňuje přímý přístup k základnímu společnému řízení.
CStatusBar::SetIndicators Nastaví ID indikátorů.
CStatusBar::SetPaneInfo Nastaví ID, styl a šířku indikátoru pro daný index.
CStatusBar::SetPaneStyle Nastaví styl ukazatele pro daný index.
CStatusBar::SetPaneText Nastaví text indikátoru pro daný index.

Poznámky

Výstupní podokna se běžně používají jako řádky zpráv a jako indikátory stavu. Mezi příklady patří řádky nápovědy k nabídce, které stručně vysvětlují vybraný příkaz nabídky a indikátory, které zobrazují stav SCROLL LOCK, NUM LOCK a dalších kláves.

CStatusBar::GetStatusBarCtrl, členská funkce nová v prostředí MFC 4.0, umožňuje využívat podporu společného ovládacího prvku Windows pro přizpůsobení stavového řádku a další funkce. CStatusBar členské funkce poskytují většinu funkcí běžných ovládacích prvků Windows; nicméně, když zavoláte GetStatusBarCtrl, můžete stavové řádky ještě více charakteristiky Windows 95/98 stavový řádek. Při volání GetStatusBarCtrlvrátí odkaz na CStatusBarCtrl objekt. Další informace o návrhu panelů nástrojů pomocí běžných ovládacích prvků Windows najdete v tématu CStatusBarCtrl . Další obecné informace o běžných ovládacích prvcích naleznete v tématu Běžné ovládací prvky v sadě Windows SDK.

Architektura ukládá informace o indikátorech v poli s ukazatelem úplně vlevo na pozici 0. Při vytváření stavového řádku použijete pole IDENTIFIKÁTORů řetězců, které architektura přidruží k odpovídajícím indikátorům. K přístupu k indikátoru pak můžete použít BUĎ ID řetězce, nebo index.

Ve výchozím nastavení je první indikátor elastický: zabírá délku stavového řádku, kterou ostatní podokna indikátoru nepoužívají, aby ostatní podokna byla zarovnaná doprava.

Pokud chcete vytvořit stavový řádek, postupujte takto:

  1. CStatusBar Vytvořte objekt.

  2. Voláním funkce Create (nebo CreateEx) vytvořte okno stavového řádku a připojte ho k objektuCStatusBar.

  3. Volání SetIndicators pro přidružení ID řetězce ke každému indikátoru.

Text v podokně stavového řádku můžete aktualizovat třemi způsoby:

  1. Volání CWnd::SetWindowText k aktualizaci textu pouze v podokně 0.

  2. Volání CCmdUI::SetText na stavovém řádku ON_UPDATE_COMMAND_UI obslužné rutiny.

  3. Volání SetPaneText pro aktualizaci textu pro libovolné podokno.

Volání SetPaneStyle pro aktualizaci stylu stavového řádku podokna.

Další informace o použití CStatusBarnaleznete v článku Implementace stavového řádku v PROSTŘEDÍ MFC a Technické poznámka 31: Řídicí panely.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CControlBar

CStatusBar

Požadavky

Hlavička: afxext.h

CStatusBar::CommandToIndex

Získá index indikátoru pro dané ID.

int CommandToIndex(UINT nIDFind) const;

Parametry

nIDFind
ID řetězce indikátoru, jehož index se má načíst.

Návratová hodnota

Index ukazatele v případě úspěchu; -1, pokud není úspěšný.

Poznámky

Index prvního indikátoru je 0.

CStatusBar::Create

Vytvoří stavový řádek (podřízené okno) a přidruží ho k objektu CStatusBar .

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

Parametry

pParentWnd
Ukazatel na objekt CWnd , jehož okno Windows je nadřazeným objektem stavového řádku.

dwStyle
Styl stavového řádku. Kromě standardních stylů Windows jsou tyto styly podporované.

  • CBRS_TOP Ovládací panel je v horní části okna rámečku.

  • CBRS_BOTTOM Ovládací panel je v dolní části okna rámečku.

  • CBRS_NOALIGN Ovládací panel se při změně velikosti nadřazeného objektu nepřeloží.

Nid
ID podřízeného okna panelu nástrojů

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Nastaví také počáteční písmo a nastaví výšku stavového řádku na výchozí hodnotu.

CStatusBar::CreateEx

Voláním této funkce vytvoříte stavový řádek (podřízené okno) a přidružíte ji k objektu CStatusBar .

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

Parametry

pParentWnd
Ukazatel na objekt CWnd , jehož okno Windows je nadřazeným objektem stavového řádku.

dwCtrlStyle
Další styly pro vytvoření vloženého CStatusBarCtrl objektu. Výchozí hodnota určuje stavový řádek bez podpory úchytu nebo popisu velikosti. Podporované jsou styly stavového řádku:

  • SBARS_SIZEGRIP Ovládací prvek stavového řádku obsahuje úchyt pro změnu velikosti na pravém konci stavového řádku. Úchyt pro změnu velikosti je podobný ohraničení velikosti; jedná se o obdélníkovou oblast, na kterou uživatel může kliknout a přetáhnout a změnit velikost nadřazeného okna.

  • SBT_TOOLTIPS Stavový řádek podporuje popisy.

Podrobnosti o těchto stylech najdete v tématu Nastavení pro CStatusBarCtrl.

dwStyle
Styl stavového řádku. Výchozí hodnota určuje, že se v dolní části okna rámečku vytvoří viditelný stavový řádek. Použijte libovolnou kombinaci stylů ovládacích prvků stavového řádku uvedených v okně Styly a CDialogBar::Create. Tento parametr by však měl vždy obsahovat styly WS_CHILD a WS_VISIBLE.

Nid
ID podřízeného okna stavového řádku.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato funkce také nastaví počáteční písmo a nastaví výšku stavového řádku na výchozí hodnotu.

Místo příkazu Vytvořit použijteCreateEx, když se při vytváření ovládacího prvku stavového řádku musí vyskytovat určité styly. Například nastavte dwCtrlStyle na SBT_TOOLTIPS zobrazení popisů v objektu stavového řádku.

CStatusBar::CStatusBar

CStatusBar Vytvoří objekt, v případě potřeby vytvoří výchozí písmo stavového řádku a nastaví vlastnosti písma na výchozí hodnoty.

CStatusBar();

CStatusBar::D rawItem

Tato členová funkce je volána architekturou, když se změní vizuální aspekt stavového řádku nakresleného vlastníkem.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametry

lpDrawItem – struktura
Ukazatel na strukturu DRAWITEMSTRUCT , která obsahuje informace o typu požadovaného výkresu.

Poznámky

Člen itemAction DRAWITEMSTRUCT struktury definuje akci výkresu, která se má provést. Přepište tuto členovou funkci tak, aby implementovaly výkres pro objekt pro kreslení CStatusBar vlastníka. Aplikace by měla obnovit všechny objekty rozhraní grafického zařízení (GDI) vybrané pro kontext zobrazení zadané v lpDrawItemStruct před ukončením této členské funkce.

CStatusBar::GetItemID

Vrátí ID ukazatele určeného parametrem nIndex.

UINT GetItemID(int nIndex) const;

Parametry

nIndex
Index ukazatele, jehož ID se má načíst

Návratová hodnota

ID ukazatele určeného parametrem nIndex.

CStatusBar::GetItemRect

Zkopíruje souřadnice ukazatele určeného parametrem nIndex do struktury, na kterou odkazuje lpRect.

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parametry

nIndex
Index ukazatele, jehož obdélníkové souřadnice se mají načíst.

lpRect
Odkazuje na strukturu RECT nebo CRect objekt, který obdrží souřadnice indikátoru určeného nIndex.

Poznámky

Souřadnice jsou v pixelech vzhledem k levému hornímu rohu stavového řádku.

CStatusBar::GetPaneInfo

Nastaví nID, nStyle a cxWidth na ID, styl a šířku podokna indikátoru v umístění určeném parametrem nIndex.

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

Parametry

nIndex
Index podokna, jehož informace se mají načíst

Nid
Odkaz na UINT, který je nastavený na ID podokna.

nStyle
Odkaz na UINT, který je nastavený na styl podokna.

cxWidth
Odkaz na celé číslo, které je nastaveno na šířku podokna.

CStatusBar::GetPaneStyle

Voláním této členské funkce načtěte styl podokna stavového řádku.

UINT GetPaneStyle(int nIndex) const;

Parametry

nIndex
Index podokna, jehož styl se má načíst.

Návratová hodnota

Styl stavového řádku určeného parametrem nIndex.

Poznámky

Styl podokna určuje způsob zobrazení podokna.

Seznam stylů dostupných pro stavové řádky najdete v tématu Vytvoření.

CStatusBar::GetPaneText

Voláním této členské funkce načtěte text, který se zobrazí v podokně stavového řádku.

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

Parametry

nIndex
Index podokna, jehož text se má načíst

rString
Odkaz na CString objekt, který obsahuje text, který má být načten.

Návratová hodnota

Objekt CString obsahující text podokna.

Poznámky

Druhý formulář této členské funkce vyplní CString objekt textem řetězce.

CStatusBar::GetStatusBarCtrl

Tato členová funkce umožňuje přímý přístup k základnímu společnému řízení.

CStatusBarCtrl& GetStatusBarCtrl() const;

Návratová hodnota

Obsahuje odkaz na CStatusBarCtrl objektu.

Poznámky

Umožňuje GetStatusBarCtrl využít výhod funkcí běžného ovládacího prvku stavového řádku Windows a využít podporu CStatusBarCtrl poskytuje přizpůsobení stavového řádku. Pomocí běžného ovládacího prvku můžete například zadat styl, který zahrnuje úchyt pro změnu velikosti na stavovém řádku, nebo můžete určit styl, který bude mít stavový řádek zobrazený v horní části klientské oblasti nadřazeného okna.

Další obecné informace o běžných ovládacích prvcích naleznete v tématu Běžné ovládací prvky v sadě Windows SDK.

CStatusBar::SetIndicators

Nastaví ID každého indikátoru na hodnotu určenou odpovídajícím prvkem pole lpIDArray, načte prostředek řetězce určený jednotlivými ID a nastaví text ukazatele na řetězec.

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

Parametry

lpIDArray
Ukazatel na pole ID.

nIDCount
Počet prvků v poli odkazovaných na lpIDArray.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

CStatusBar::SetPaneInfo

Nastaví zadané podokno indikátoru na nové ID, styl a šířku.

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

Parametry

nIndex
Index podokna indikátorů, jehož styl se má nastavit.

Nid
Nové ID podokna indikátoru

nStyle
Nový styl podokna indikátorů

cxWidth
Nová šířka podokna indikátoru

Poznámky

Podporují se následující styly indikátorů:

  • SBPS_NOBORDERS kolem podokna bez prostorového ohraničení.

  • SBPS_POPOUT Obrácené ohraničení tak, aby se text "vysvítal".

  • SBPS_DISABLED Nenakreslit text.

  • SBPS_STRETCH podokno Roztáhnout, aby se vyplnilo nevyužité místo. Tento styl může mít jenom jedno podokno na stavovém řádku.

  • SBPS_NORMAL Bez roztažení, ohraničení nebo automaticky otevíraných oken.

CStatusBar::SetPaneStyle

Voláním této členské funkce nastavíte styl podokna stavového řádku.

void SetPaneStyle(
    int nIndex,
    UINT nStyle);

Parametry

nIndex
Index podokna, jehož styl se má nastavit.

nStyle
Styl podokna, jehož styl se má nastavit.

Poznámky

Styl podokna určuje způsob zobrazení podokna.

Seznam stylů dostupných pro stavové pruhy najdete v tématu SetPaneInfo.

CStatusBar::SetPaneText

Voláním této členské funkce nastavíte text podokna na řetězec, na který odkazuje lpszNewText.

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

Parametry

nIndex
Index podokna, jehož text se má nastavit.

lpszNewText
Ukazatel na nový text podokna

bUpdate
Pokud je hodnota TRUE, podokno se po nastavení textu zneplatní.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Po volání SetPaneTextmusíte přidat obslužnou rutinu aktualizace uživatelského rozhraní pro zobrazení nového textu na stavovém řádku.

Příklad

//Sets and displays text for pane index 3 and id ID_INDICATOR_SCRL
m_wndStatusBar.SetPaneText(3, _T("My New Status Bar Text"), TRUE);

 

//UI handler in the message map updates the status bar text:
ON_UPDATE_COMMAND_UI(ID_INDICATOR_SCRL, &CMainFrame::OnUpdatePane)

 

void CMainFrame::OnUpdatePane(CCmdUI* pCmdUI)
{
   pCmdUI->Enable();
}

Viz také

MFC – ukázkové CTRLBARS
Ukázková DLGCBR32 MFC
CControlBar – třída
Graf hierarchie
CStatusBarCtrl – třída
CControlBar – třída