Share via


CStatusBar-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een besturingsbalk met een rij tekstuitvoervensters of 'indicatoren'.

Syntaxis

class CStatusBar : public CControlBar

Leden

Openbare constructors

Naam Description
CStatusBar::CStatusBar Maakt een CStatusBar object.

Openbare methoden

Naam Description
CStatusBar::CommandToIndex Hiermee haalt u een index op voor een bepaalde indicator-id.
CStatusBar::Maken Hiermee maakt u de statusbalk, koppelt u deze aan het CStatusBar object en stelt u het eerste lettertype en de hoogte van de balk in.
CStatusBar::CreateEx Hiermee maakt u een CStatusBar object met extra stijlen voor het ingesloten CStatusBarCtrl object.
CStatusBar::D rawItem Aangeroepen wanneer een visueel aspect van een besturingselement voor het tekenen van de statusbalk van een eigenaar verandert.
CStatusBar::GetItemID Hiermee haalt u de indicator-id voor een bepaalde index op.
CStatusBar::GetItemRect Hiermee haalt u de weergaverechthoek voor een bepaalde index op.
CStatusBar::GetPaneInfo Hiermee haalt u indicator-id, stijl en breedte voor een bepaalde index op.
CStatusBar::GetPaneStyle Hiermee haalt u de indicatorstijl voor een bepaalde index op.
CStatusBar::GetPaneText Hiermee haalt u indicatortekst voor een bepaalde index op.
CStatusBar::GetStatusBarCtrl Hiermee wordt directe toegang tot het onderliggende algemene besturingselement toegestaan.
CStatusBar::SetIndicators Hiermee stelt u indicator-id's in.
CStatusBar::SetPaneInfo Hiermee stelt u de indicator-id, stijl en breedte in voor een bepaalde index.
CStatusBar::SetPaneStyle Hiermee stelt u de indicatorstijl voor een bepaalde index in.
CStatusBar::SetPaneText Hiermee stelt u indicatortekst voor een bepaalde index in.

Opmerkingen

De uitvoervensters worden vaak gebruikt als berichtlijnen en als statusindicatoren. Voorbeelden hiervan zijn de help-berichtregels van het menu waarin de geselecteerde menuopdracht kort wordt uitgelegd en de indicatoren die de status van de SCROLL LOCK, NUM LOCK en andere toetsen weergeven.

CStatusBar::GetStatusBarCtrl, een lidfunctie die nieuw is bij MFC 4.0, kunt u profiteren van de ondersteuning van het algemene Besturingselement van Windows voor het aanpassen van de statusbalk en aanvullende functionaliteit. CStatusBar lidfuncties bieden u de meeste functionaliteit van de algemene Besturingselementen van Windows; Wanneer u echter aanroept GetStatusBarCtrl, kunt u uw statusbalken nog meer van de kenmerken van een Windows 95/98-statusbalk geven. Wanneer u aanroept GetStatusBarCtrl, wordt er een verwijzing naar een CStatusBarCtrl object geretourneerd. Zie CStatusBarCtrl voor meer informatie over het ontwerpen van werkbalken met behulp van algemene besturingselementen van Windows. Zie Algemene besturingselementen in de Windows SDK voor meer algemene informatie over algemene besturingselementen.

In het framework worden indicatorgegevens opgeslagen in een matrix met de meest linkse indicator op positie 0. Wanneer u een statusbalk maakt, gebruikt u een matrix met tekenreeks-id's die door het framework worden gekoppeld aan de bijbehorende indicatoren. U kunt vervolgens een tekenreeks-id of een index gebruiken om toegang te krijgen tot een indicator.

De eerste indicator is standaard 'elastisch': deze neemt de lengte van de statusbalk in beslag die niet wordt gebruikt door de andere indicatordeelvensters, zodat de andere deelvensters rechts zijn uitgelijnd.

Voer de volgende stappen uit om een statusbalk te maken:

  1. Maak het CStatusBar object.

  2. Roep de functie Create (of CreateEx) aan om het statusbalkvenster te maken en deze aan het CStatusBar object te koppelen.

  3. Roep SetIndicators aan om een tekenreeks-id aan elke indicator te koppelen.

Er zijn drie manieren om de tekst in een statusbalkvenster bij te werken:

  1. Roep CWnd::SetWindowText aan om alleen de tekst in deelvenster 0 bij te werken.

  2. CCmdUI::SetText aanroepen in de ON_UPDATE_COMMAND_UI handler van de statusbalk.

  3. Roep SetPaneText aan om de tekst voor elk deelvenster bij te werken.

Roep SetPaneStyle aan om de stijl van een statusbalkvenster bij te werken.

Zie het artikel Statusbalkimplementatie in MFC en Technische opmerking 31: Besturingsbalken voor meer informatie over het gebruikCStatusBar.

Overnamehiërarchie

CObject

CCmdTarget

CWnd

CControlBar

CStatusBar

Requirements

Koptekst: afxext.h

CStatusBar::CommandToIndex

Hiermee haalt u de indicatorindex voor een bepaalde id op.

int CommandToIndex(UINT nIDFind) const;

Parameterwaarden

nIDFind
Tekenreeks-id van de indicator waarvan de index moet worden opgehaald.

Retourwaarde

De index van de indicator indien geslaagd; -1 als dat niet lukt.

Opmerkingen

De index van de eerste indicator is 0.

CStatusBar::Maken

Hiermee maakt u een statusbalk (een onderliggend venster) en koppelt u deze aan het CStatusBar object.

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

Parameterwaarden

pParentWnd
Wijs het CWnd-object aan waarvan het Windows-venster het bovenliggende element van de statusbalk is.

dwStyle
De stijl van de statusbalk. Naast de standaard Windows-stijlen worden deze stijlen ondersteund.

  • CBRS_TOP Control-balk bevindt zich boven aan het framevenster.

  • CBRS_BOTTOM besturingsbalk bevindt zich onder aan het framevenster.

  • CBRS_NOALIGN besturingsbalk wordt niet verplaatst wanneer het bovenliggende item wordt gewijzigd.

nID
De id van het onderliggende venster van de werkbalk.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Hiermee stelt u ook het eerste lettertype in en stelt u de hoogte van de statusbalk in op een standaardwaarde.

CStatusBar::CreateEx

Roep deze functie aan om een statusbalk (een onderliggend venster) te maken en deze aan het CStatusBar object te koppelen.

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

Parameterwaarden

pParentWnd
Wijs het CWnd-object aan waarvan het Windows-venster het bovenliggende element van de statusbalk is.

dwCtrlStyle
Aanvullende stijlen voor het maken van het ingesloten CStatusBarCtrl-object . De standaardinstelling geeft een statusbalk aan zonder een formaatgreep of knopinfoondersteuning. Ondersteunde statusbalkstijlen zijn:

  • SBARS_SIZEGRIP Het besturingselement voor de statusbalk bevat een formaatgreep aan de rechterkant van de statusbalk. Een formaatgreep is vergelijkbaar met een formaatrand; het is een rechthoekig gebied dat de gebruiker kan klikken en slepen om het formaat van het bovenliggende venster te wijzigen.

  • SBT_TOOLTIPS De statusbalk ondersteunt knopinfo.

Zie Instellingen voor de CStatusBarCtrl voor meer informatie over deze stijlen.

dwStyle
De stijl van de statusbalk. De standaardinstelling geeft aan dat een zichtbare statusbalk onder aan het framevenster wordt gemaakt. Pas een combinatie van statusbalkbesturingsstijlen toe die worden vermeld in Vensterstijlen en CDialogBar::Maken. Deze parameter moet echter altijd de WS_CHILD en WS_VISIBLE stijlen bevatten.

nID
De id van het onderliggende venster van de statusbalk.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Met deze functie wordt ook het eerste lettertype ingesteld en wordt de hoogte van de statusbalk ingesteld op een standaardwaarde.

Gebruik CreateExin plaats van Maken wanneer bepaalde stijlen aanwezig moeten zijn tijdens het maken van het ingesloten statusbalkbesturingselement. Stel bijvoorbeeld dwCtrlStyle in op SBT_TOOLTIPS om knopinfo weer te geven in een statusbalkobject.

CStatusBar::CStatusBar

Hiermee maakt u een CStatusBar object, maakt u indien nodig een standaardlettertype op de statusbalk en stelt u de lettertypekenmerken in op standaardwaarden.

CStatusBar();

CStatusBar::D rawItem

Deze lidfunctie wordt aangeroepen door het framework wanneer een visueel aspect van een door de eigenaar getekende statusbalk verandert.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parameterwaarden

lpDrawItemStruct
Een aanwijzer naar een DRAWITEMSTRUCT-structuur die informatie bevat over het type tekening dat vereist is.

Opmerkingen

Het itemAction lid van de DRAWITEMSTRUCT structuur definieert de tekenactie die moet worden uitgevoerd. Overschrijf deze lidfunctie om tekening te implementeren voor een eigenaar-tekenobject CStatusBar . De toepassing moet alle GDI-objecten (Graphics Device Interface) herstellen die zijn geselecteerd voor de weergavecontext die is opgegeven in lpDrawItemStruct voordat deze lidfunctie wordt beëindigd.

CStatusBar::GetItemID

Retourneert de id van de indicator die is opgegeven door nIndex.

UINT GetItemID(int nIndex) const;

Parameterwaarden

nIndex
Index van de indicator waarvan de id moet worden opgehaald.

Retourwaarde

De id van de indicator die is opgegeven door nIndex.

CStatusBar::GetItemRect

Kopieert de coördinaten van de indicator die is opgegeven door nIndex in de structuur die door lpRect wordt verwezen.

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parameterwaarden

nIndex
Index van de indicator waarvan de rechthoekcoördinaten moeten worden opgehaald.

lpRect
Verwijst naar een RECT-structuur of een CRect-object dat de coördinaten van de indicator ontvangt die is opgegeven door nIndex.

Opmerkingen

Coördinaten bevinden zich in pixels ten opzichte van de linkerbovenhoek van de statusbalk.

CStatusBar::GetPaneInfo

Stelt nID, nStyle en cxWidth in op de id, stijl en breedte van het indicatordeelvenster op de locatie die is opgegeven door nIndex.

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

Parameterwaarden

nIndex
Index van het deelvenster waarvan de gegevens moeten worden opgehaald.

nID
Verwijzing naar een UINT die is ingesteld op de id van het deelvenster.

nStyle
Verwijzing naar een UINT die is ingesteld op de stijl van het deelvenster.

cxWidth
Verwijzing naar een geheel getal dat is ingesteld op de breedte van het deelvenster.

CStatusBar::GetPaneStyle

Roep deze lidfunctie aan om de stijl van het deelvenster van een statusbalk op te halen.

UINT GetPaneStyle(int nIndex) const;

Parameterwaarden

nIndex
Index van het deelvenster waarvan de stijl moet worden opgehaald.

Retourwaarde

De stijl van het deelvenster statusbalk dat is opgegeven door nIndex.

Opmerkingen

De stijl van een deelvenster bepaalt hoe het deelvenster wordt weergegeven.

Zie Maken voor een lijst met stijlen die beschikbaar zijn voor statusbalken.

CStatusBar::GetPaneText

Roep deze lidfunctie aan om de tekst op te halen die wordt weergegeven in een statusbalkvenster.

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

Parameterwaarden

nIndex
Index van het deelvenster waarvan de tekst moet worden opgehaald.

rString
Een verwijzing naar een CString-object dat de tekst bevat die moet worden opgehaald.

Retourwaarde

Een CString object met de tekst van het deelvenster.

Opmerkingen

De tweede vorm van deze lidfunctie vult een CString object met de tekenreekstekst.

CStatusBar::GetStatusBarCtrl

Deze lidfunctie biedt directe toegang tot het onderliggende algemene besturingselement.

CStatusBarCtrl& GetStatusBarCtrl() const;

Retourwaarde

Bevat een verwijzing naar een CStatusBarCtrl-object .

Opmerkingen

Gebruik GetStatusBarCtrl dit om te profiteren van de functionaliteit van het algemene besturingselement van de Windows-statusbalk en om te profiteren van de ondersteuning die CStatusBarCtrl biedt voor het aanpassen van de statusbalk. Met behulp van het algemene besturingselement kunt u bijvoorbeeld een stijl opgeven die een formaatgreep op de statusbalk bevat, of u kunt een stijl opgeven om de statusbalk boven aan het clientgebied van het bovenliggende venster weer te geven.

Zie Algemene besturingselementen in de Windows SDK voor meer algemene informatie over algemene besturingselementen.

CStatusBar::SetIndicators

Stelt de id van elke indicator in op de waarde die is opgegeven door het bijbehorende element van de matrix lpIDArray, laadt de tekenreeksresource die door elke id is opgegeven en stelt de tekst van de indicator in op de tekenreeks.

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

Parameterwaarden

lpIDArray
Wijs een matrix met id's aan.

nIDCount
Het aantal elementen in de matrix dat wordt verwezen door lpIDArray.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

CStatusBar::SetPaneInfo

Hiermee stelt u het opgegeven indicatorvenster in op een nieuwe id, stijl en breedte.

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

Parameterwaarden

nIndex
Index van het indicatordeelvenster waarvan de stijl moet worden ingesteld.

nID
Nieuwe id voor het indicatorvenster.

nStyle
Nieuwe stijl voor het indicatorvenster.

cxWidth
Nieuwe breedte voor het indicatorvenster.

Opmerkingen

De volgende indicatorstijlen worden ondersteund:

  • SBPS_NOBORDERS geen 3D-rand rond het deelvenster.

  • SBPS_POPOUT rand omkeren, zodat de tekst wordt weergegeven.

  • SBPS_DISABLED Teken geen tekst.

  • SBPS_STRETCH deelvenster Stretch om ongebruikte ruimte te vullen. Slechts één deelvenster per statusbalk kan deze stijl hebben.

  • SBPS_NORMAL Geen uitrekken, randen of pop-out.

CStatusBar::SetPaneStyle

Roep deze lidfunctie aan om de stijl van het deelvenster van een statusbalk in te stellen.

void SetPaneStyle(
    int nIndex,
    UINT nStyle);

Parameterwaarden

nIndex
Index van het deelvenster waarvan de stijl moet worden ingesteld.

nStyle
Stijl van het deelvenster waarvan de stijl moet worden ingesteld.

Opmerkingen

De stijl van een deelvenster bepaalt hoe het deelvenster wordt weergegeven.

Zie SetPaneInfo voor een lijst met stijlen die beschikbaar zijn voor statusbalken.

CStatusBar::SetPaneText

Roep deze lidfunctie aan om de tekst van het deelvenster in te stellen op de tekenreeks die wordt verwezen door lpszNewText.

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

Parameterwaarden

nIndex
Index van het deelvenster waarvan de tekst moet worden ingesteld.

lpszNewText
Wijs de tekst van het nieuwe deelvenster aan.

bUpdate
Als WAAR is, wordt het deelvenster ongeldig nadat de tekst is ingesteld.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Nadat u bent aangeroepen SetPaneText, moet u een UI-updatehandler toevoegen om de nieuwe tekst weer te geven op de statusbalk.

Example

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

Zie ook

MFC-voorbeeld CTRLBARS
MFC-voorbeeld DLGCBR32
CControlBar-klasse
Hiërarchiegrafiek
CStatusBarCtrl-klasse
CControlBar-klasse