CStatusBar-Klasse

Hinweis

Die Microsoft Foundation Classes (MFC)-Bibliothek wird weiterhin unterstützt. Wir fügen jedoch keine Features mehr hinzu oder aktualisieren die Dokumentation.

Eine Steuerleiste mit einer Zeile von Textausgabebereichen ("Indikatoren" genannt).

Syntax

class CStatusBar : public CControlBar

Member

Öffentliche Konstruktoren

Name Beschreibung
CStatusBar::CStatusBar Erstellt ein CStatusBar-Objekt.

Öffentliche Methoden

Name Beschreibung
CStatusBar::CommandToIndex Ruft den Index für eine angegebene Indikator-ID ab.
CStatusBar::Create Erstellt die Statusleiste, fügt sie an das CStatusBar Objekt an und legt die anfängliche Schriftart und Balkenhöhe fest.
CStatusBar::CreateEx Erstellt ein CStatusBar Objekt mit zusätzlichen Formatvorlagen für das eingebettete CStatusBarCtrl Objekt.
CStatusBar::D rawItem Wird aufgerufen, wenn sich ein visueller Aspekt eines Besitzer-Draw-Statusleisten-Steuerelements ändert.
CStatusBar::GetItemID Ruft die Indikator-ID für einen bestimmten Index ab.
CStatusBar::GetItemRect Ruft das Anzeigerechteck für einen bestimmten Index ab.
CStatusBar::GetPaneInfo Ruft Die Indikator-ID, -Formatvorlage und -breite für einen bestimmten Index ab.
CStatusBar::GetPaneStyle Ruft den Indikatorstil für einen bestimmten Index ab.
CStatusBar::GetPaneText Ruft Indikatortext für einen bestimmten Index ab.
CStatusBar::GetStatusBarCtrl Ermöglicht direkten Zugriff auf das zugrunde liegende allgemeine Steuerelement.
CStatusBar::SetIndicators Legt Indikator-IDs fest.
CStatusBar::SetPaneInfo Legt die Indikator-ID, -Formatvorlage und -breite für einen bestimmten Index fest.
CStatusBar::SetPaneStyle Legt den Indikatorstil für einen bestimmten Index fest.
CStatusBar::SetPaneText Legt Den Indikatortext für einen bestimmten Index fest.

Hinweise

Die Ausgabebereiche werden häufig als Nachrichtenzeilen und als Statusindikatoren verwendet. Beispiele hierfür sind die Hilfezeilen des Menüs, die den ausgewählten Menübefehl kurz erläutern, sowie die Indikatoren, die den Status der BILDLAUFSPERRE, DIE NUM-TASTE und andere Tasten anzeigen.

Mit CStatusBar::GetStatusBarCtrl, einer Memberfunktion, die mit MFC 4.0 neu ist, können Sie die Unterstützung des allgemeinen Windows-Steuerelements für die Anpassung der Statusleiste und zusätzliche Funktionen nutzen. CStatusBar member functions give you most of the functionality of the Windows common controls; Wenn Sie jedoch anrufen GetStatusBarCtrl, können Sie Ihren Statusleisten noch mehr Merkmale einer Windows 95/98-Statusleiste zugeben. Wenn Sie aufrufen GetStatusBarCtrl, wird ein Verweis auf ein CStatusBarCtrl Objekt zurückgegeben. Weitere Informationen zum Entwerfen von Symbolleisten mit allgemeinen Windows-Steuerelementen finden Sie unter CStatusBarCtrl . Allgemeine Informationen zu allgemeinen Steuerelementen finden Sie unter "Allgemeine Steuerelemente " im Windows SDK.

Das Framework speichert Indikatorinformationen in einem Array mit dem äußerst linken Indikator an Position 0. Wenn Sie eine Statusleiste erstellen, verwenden Sie ein Array von Zeichenfolgen-IDs, die das Framework den entsprechenden Indikatoren zuordnet. Anschließend können Sie entweder eine Zeichenfolgen-ID oder einen Index verwenden, um auf einen Indikator zuzugreifen.

Standardmäßig ist der erste Indikator "elastisch": Es nimmt die Statusleistenlänge ein, die nicht von den anderen Indikatorbereichen verwendet wird, sodass die anderen Bereiche rechtsbündig ausgerichtet sind.

Führen Sie die folgenden Schritte aus, um eine Statusleiste zu erstellen:

  1. Erstellen Sie das CStatusBar Objekt.

  2. Rufen Sie die Create-Funktion (oder CreateEx) auf, um das Statusleistenfenster zu erstellen und an das CStatusBar Objekt anzufügen.

  3. Rufen Sie SetIndicators auf, um jedem Indikator eine Zeichenfolgen-ID zuzuordnen.

Es gibt drei Möglichkeiten, den Text in einem Statusleistenbereich zu aktualisieren:

  1. Rufen Sie CWnd::SetWindowText auf, um den Text nur im Bereich 0 zu aktualisieren.

  2. Rufen Sie CCmdUI::SetText im ON_UPDATE_COMMAND_UI Handler der Statusleiste auf.

  3. Rufen Sie SetPaneText auf, um den Text für einen beliebigen Bereich zu aktualisieren.

Rufen Sie SetPaneStyle auf, um die Formatvorlage eines Statusleistenbereichs zu aktualisieren.

Weitere Informationen zur Verwendung CStatusBarfinden Sie im Artikel Status bar Implementation in MFC und Technical Note 31 : Control Bars.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CControlBar

CStatusBar

Anforderungen

Header: afxext.h

CStatusBar::CommandToIndex

Ruft den Indikatorindex für eine bestimmte ID ab.

int CommandToIndex(UINT nIDFind) const;

Parameter

nIDFind
Zeichenfolgen-ID des Indikators, dessen Index abgerufen werden soll.

Rückgabewert

Der Index des Indikators bei erfolgreicher Ausführung; -1, wenn nicht erfolgreich.

Hinweise

Der Index des ersten Indikators ist 0.

CStatusBar::Create

Erstellt eine Statusleiste (ein untergeordnetes Fenster) und ordnet sie dem Objekt zu CStatusBar .

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

Parameter

pParentWnd
Zeiger auf das CWnd-Objekt , dessen Windows-Fenster das übergeordnete Element der Statusleiste ist.

dwStyle
Die Statusleistenart. Zusätzlich zu den standardmäßigen Windows-Stilen werden diese Stile unterstützt.

  • CBRS_TOP Steuerelementleiste befindet sich oben im Rahmenfenster.

  • CBRS_BOTTOM Steuerelementleiste befindet sich am unteren Rand des Rahmenfensters.

  • CBRS_NOALIGN Steuerelementleiste wird nicht neu positioniert, wenn die Größe des übergeordneten Elements geändert wird.

Nid
Die Untergeordnete Fenster-ID der Symbolleiste.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Legt außerdem die ursprüngliche Schriftart fest und legt die Höhe der Statusleiste auf einen Standardwert fest.

CStatusBar::CreateEx

Rufen Sie diese Funktion auf, um eine Statusleiste (ein untergeordnetes Fenster) zu erstellen und sie dem CStatusBar Objekt zuzuordnen.

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

Parameter

pParentWnd
Zeiger auf das CWnd-Objekt , dessen Windows-Fenster das übergeordnete Element der Statusleiste ist.

dwCtrlStyle
Zusätzliche Formatvorlagen für die Erstellung des eingebetteten CStatusBarCtrl-Objekts . Der Standardwert gibt eine Statusleiste ohne Ziehgriff oder QuickInfo-Unterstützung an. Unterstützte Statusleistenarten sind:

  • SBARS_SIZEGRIP Das Statusleisten-Steuerelement enthält einen Ziehgriff am rechten Ende der Statusleiste. Ein Ziehgriff ähnelt einem Größenrahmen; Es handelt sich um einen rechteckigen Bereich, auf den der Benutzer klicken und ziehen kann, um die Größe des übergeordneten Fensters zu ändern.

  • SBT_TOOLTIPS Die Statusleiste unterstützt QuickInfos.

Ausführliche Informationen zu diesen Formatvorlagen finden Sie unter "Einstellungen" für "CStatusBarCtrl".

dwStyle
Die Statusleistenart. Der Standardwert gibt an, dass unten im Rahmenfenster eine sichtbare Statusleiste erstellt wird. Wenden Sie eine beliebige Kombination von Formatvorlagen für Statusleistensteuerelemente an, die in Fensterformatvorlagen und CDialogBar::Create aufgeführt sind. Dieser Parameter sollte jedoch immer die formatvorlagen WS_CHILD und WS_VISIBLE enthalten.

Nid
Die Untergeordnete Fenster-ID der Statusleiste.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Funktion legt auch die ursprüngliche Schriftart fest und legt die Höhe der Statusleiste auf einen Standardwert fest.

Verwenden Sie CreateExanstelle von "Erstellen", wenn bestimmte Formatvorlagen während der Erstellung des eingebetteten Statusleisten-Steuerelements vorhanden sein müssen. Legen Sie beispielsweise dwCtrlStyle auf SBT_TOOLTIPS fest, um QuickInfos in einem Statusleistenobjekt anzuzeigen.

CStatusBar::CStatusBar

Erstellt ein CStatusBar Objekt, erstellt bei Bedarf eine Standardschriftart für die Statusleiste und legt die Schriftarteigenschaften auf Standardwerte fest.

CStatusBar();

CStatusBar::D rawItem

Diese Memberfunktion wird vom Framework aufgerufen, wenn sich ein visueller Aspekt einer vom Besitzer gezeichneten Statusleiste ändert.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);