Freigeben über


CMFCCaptionBar-Klasse

Ein CMFCCaptionBar Objekt ist eine Steuerelementleiste, die drei Elemente anzeigen kann: eine Schaltfläche, eine Textbezeichnung und eine Bitmap. Es kann jeweils nur ein Element eines Typs angezeigt werden. Sie können jedes Element links, rechts oder in der Mitte des Steuerelements positionieren. Sie können zudem den oberen und unteren Rand der Titelleiste flach oder dreidimensional darstellen.

Syntax

class CMFCCaptionBar : public CPane

Member

Öffentliche Methoden

Name Beschreibung
CMFCCaptionBar::Create Erstellt das Steuerelement der Beschriftungsleiste und fügt es an das CMFCCaptionBar Objekt an.
CMFCCaptionBar::D oesAllowDynInsertBefore Gibt an, ob ein anderer Bereich dynamisch zwischen der Beschriftungsleiste und dem übergeordneten Frame eingefügt werden kann. (Außerkraftsetzungen CBasePane::D oesAllowDynInsertBefore.)
CMFCCaptionBar::EnableButton Aktiviert oder deaktiviert die Schaltfläche auf der Beschriftungsleiste.
CMFCCaptionBar::GetAlignment Gibt die Ausrichtung des angegebenen Elements zurück.
CMFCCaptionBar::GetBorderSize Gibt die Rahmengröße der Beschriftungsleiste zurück.
CMFCCaptionBar::GetButtonRect Ruft das umgebende Rechteck der Schaltfläche auf der Beschriftungsleiste ab.
CMFCCaptionBar::GetMargin Gibt den Abstand zwischen dem Rand der Beschriftungsleistenelemente und dem Rand des Beschriftungsleisten-Steuerelements zurück.
CMFCCaptionBar::IsMessageBarMode Gibt an, ob sich die Beschriftungsleiste im Statusleistenmodus befindet.
CMFCCaptionBar::RemoveBitmap Entfernt das Bitmapbild aus der Beschriftungsleiste.
CMFCCaptionBar::RemoveButton Entfernt die Schaltfläche aus der Beschriftungsleiste.
CMFCCaptionBar::RemoveIcon Entfernt das Symbol aus der Beschriftungsleiste.
CMFCCaptionBar::RemoveText Entfernt die Textbeschriftung aus der Beschriftungsleiste.
CMFCCaptionBar::SetBitmap Legt das Bitmapbild für die Beschriftungsleiste fest.
CMFCCaptionBar::SetBorderSize Legt die Rahmengröße der Beschriftungsleiste fest.
CMFCCaptionBar::SetButton Legt die Schaltfläche für die Beschriftungsleiste fest.
CMFCCaptionBar::SetButtonPressed Gibt an, ob die Schaltfläche gedrückt bleibt.
CMFCCaptionBar::SetButtonToolTip Legt die QuickInfo für die Schaltfläche fest.
CMFCCaptionBar::SetFlatBorder Legt die Rahmenart der Beschriftungsleiste fest.
CMFCCaptionBar::SetIcon Legt das Symbol für eine Beschriftungsleiste fest.
CMFCCaptionBar::SetImageToolTip Legt die QuickInfo für das Bild für die Beschriftungsleiste fest.
CMFCCaptionBar::SetMargin Legt den Abstand zwischen dem Rand des Beschriftungsleistenelements und dem Rand des Beschriftungsleisten-Steuerelements fest.
CMFCCaptionBar::SetText Legt die Beschriftung für die Beschriftungsleiste fest.

Geschützte Methoden

Name Beschreibung
CMFCCaptionBar::OnDrawBackground Vom Framework aufgerufen, um den Hintergrund der Beschriftungsleiste auszufüllen.
CMFCCaptionBar::OnDrawBorder Wird vom Framework aufgerufen, um den Rahmen der Beschriftungsleiste zu zeichnen.
CMFCCaptionBar::OnDrawButton Vom Framework aufgerufen, um die Beschriftungsleistenschaltfläche zu zeichnen.
CMFCCaptionBar::OnDrawImage Wird vom Framework aufgerufen, um das Bild der Beschriftungsleiste zu zeichnen.
CMFCCaptionBar::OnDrawText Wird vom Framework aufgerufen, um den Text der Beschriftungsleiste zu zeichnen.

Datenelemente

Name Beschreibung
CMFCCaptionBar::m_clrBarBackground Die Hintergrundfarbe der Beschriftungsleiste.
CMFCCaptionBar::m_clrBarBorder Die Farbe des Rahmens der Beschriftungsleiste.
CMFCCaptionBar::m_clrBarText Die Farbe des Texts der Beschriftungsleiste.

Hinweise

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

  1. Erstellen Sie das CMFCCaptionBar Objekt. In der Regel fügen Sie die Beschriftungsleiste einer Framefensterklasse hinzu.

  2. Rufen Sie die CMFCCaptionBar::Create-Methode auf, um das Steuerelement für die Beschriftungsleiste zu erstellen und an das CMFCCaptionBar Objekt anzufügen.

  3. Aufrufen von CMFCCaptionBar::SetButton, CMFCCaptionBar::SetText, CMFCCaptionBar::SetIcon und CMFCCaptionBar::SetBitmap zum Festlegen der Beschriftungsleistenelemente.

Wenn Sie das Schaltflächenelement festlegen, müssen Sie der Schaltfläche eine Befehls-ID zuweisen. Wenn der Benutzer auf die Schaltfläche klickt, leitet die Beschriftungsleiste die WM_COMMAND Nachrichten mit dieser ID an das übergeordnete Framefenster weiter.

Die Beschriftungsleiste kann auch im Nachrichtenleistenmodus funktionieren, wodurch die Meldungsleiste emuliert wird, die in Microsoft Office 2007-Anwendungen angezeigt wird. Im Meldungsleistenmodus zeigt die Beschriftungsleiste eine Bitmap, eine Nachricht und eine Schaltfläche an (in der Regel wird ein Dialogfeld geöffnet.) Sie können der Bitmap eine QuickInfo zuweisen.

Rufen Sie zum Aktivieren des Nachrichtenleistenmodus CMFCCaptionBar::Create auf, und legen Sie den vierten Parameter (bIsMessageBarMode) auf TRUE fest.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung verschiedener Methoden in der CMFCCaptionBar -Klasse. Das Beispiel zeigt, wie Sie das Steuerelement für die Beschriftungsleiste erstellen, einen 3D-Rahmen der Beschriftungsleiste festlegen, den Abstand in Pixeln zwischen dem Rand der Beschriftungsleistenelemente und dem Rand des Beschriftungsleisten-Steuerelements festlegen, die Schaltfläche für die Beschriftungsleiste festlegen, die QuickInfo für die Schaltfläche festlegen, die Textbeschriftungsleiste festlegen, Legen Sie das Bitmapbild für die Beschriftungsleiste fest, und legen Sie die QuickInfo für das Bild in der Beschriftungsleiste fest. Dieser Codeausschnitt ist Teil des MS Office 2007-Demobeispiels.

CMFCCaptionBar m_wndMessageBar;
BOOL CMainFrame::CreateMessageBar()
{
   // The this pointer points to a CMainFrame class which extends the CFrameWndEx class.
   if (!m_wndMessageBar.Create(WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, this, ID_VIEW_MESSAGEBAR, -1, TRUE))
   {
      TRACE0("Failed to create caption bar\n");
      return FALSE;
   }

   m_wndMessageBar.SetFlatBorder(FALSE);
   m_wndMessageBar.SetMargin(10);
   m_wndMessageBar.SetButton(_T("Options..."), ID_TOOLS_OPTIONS, CMFCCaptionBar::ALIGN_LEFT, FALSE);
   m_wndMessageBar.SetButtonToolTip(_T("Click here to see more options"));

   m_wndMessageBar.SetText(_T("Welcome to the MFC MSOffice2007 demonstration!"), CMFCCaptionBar::ALIGN_LEFT);

   m_wndMessageBar.SetBitmap(IDB_INFO, RGB(255, 255, 255), FALSE, CMFCCaptionBar::ALIGN_LEFT);
   m_wndMessageBar.SetImageToolTip(_T("Important"), _T("Please take a look at MSOffice2007Demo source code to learn how to create advanced user interface in minutes."));

   return TRUE;
}

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCCaptionBar

Anforderungen

Kopfzeile: afxcaptionbar.h

CMFCCaptionBar::Create

Erstellt das Steuerelement der Beschriftungsleiste und fügt es an das CMFCCaptionBar Objekt an.

BOOL Create(
    DWORD dwStyle,
    CWnd* pParentWnd,
    UINT uID,
    int nHeight=-1,
    BOOL bIsMessageBarMode=FALSE);

Parameter

dwStyle
Die logische ODER-Kombination der Formatvorlagen der Beschriftungsleiste.

pParentWnd
Das übergeordnete Fenster des Beschriftungsleisten-Steuerelements.

uid
Die ID des Steuerelements für die Beschriftungsleiste.

nHeight
Die Höhe des Steuerelements für die Beschriftungsleiste in Pixel. Wenn es -1 ist, wird die Höhe entsprechend der Höhe des Symbols, dem Text und der Schaltfläche berechnet, die vom Steuerelement für die Beschriftungsleiste angezeigt wird.

bIsMessageBarMode
TRUE, wenn sich die Beschriftungsleiste im Statusleistenmodus befindet; Andernfalls FALSE.

Rückgabewert

TRUE, wenn das Steuerelement für die Beschriftungsleiste erfolgreich erstellt wird; Andernfalls FALSE.

Hinweise

Sie erstellen ein CMFCCaptionBar Objekt in zwei Schritten. Zuerst rufen Sie den Konstruktor auf, und anschließend rufen Sie die Create Methode auf, mit der das Windows-Steuerelement erstellt und an das CMFCCaptionBar Objekt angefügt wird.

CMFCCaptionBar::D oesAllowDynInsertBefore

Gibt an, ob ein anderer Bereich dynamisch zwischen der Beschriftungsleiste und dem übergeordneten Frame eingefügt werden kann.

virtual BOOL DoesAllowDynInsertBefore() const;

Rückgabewert

Gibt FALSE zurück, es sei denn, es wird außer Kraft gesetzt.

Hinweise

CMFCCaptionBar::EnableButton

Aktiviert oder deaktiviert die Schaltfläche auf der Beschriftungsleiste.

void EnableButton(BOOL bEnable=TRUE);

Parameter

bEnable
[in] TRUE, um die Schaltfläche zu aktivieren, FALSE zum Deaktivieren der Schaltfläche.

CMFCCaptionBar::GetAlignment

Gibt die Ausrichtung des angegebenen Elements zurück.

BarElementAlignment GetAlignment(BarElement elem);

Parameter

Elem
[in] Ein Beschriftungsleistenelement, für das die Ausrichtung abgerufen werden soll.

Rückgabewert

Die Ausrichtung eines Elements, z. B. eine Schaltfläche, eine Bitmap, text oder ein Symbol.

Hinweise

Die Ausrichtung des Elements kann eines der folgenden Werte sein:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::GetBorderSize

Gibt die Rahmengröße der Beschriftungsleiste zurück.

int GetBorderSize() const;

Rückgabewert

Die Größe des Rahmens in Pixel.

CMFCCaptionBar::GetButtonRect

Ruft das umgebende Rechteck der Schaltfläche auf der Beschriftungsleiste ab.

CRect GetButtonRect() const;

Rückgabewert

Ein CRect Objekt, das die Koordinaten des umgebenden Rechtecks der Schaltfläche auf der Beschriftungsleiste enthält.

CMFCCaptionBar::GetMargin

Gibt den Abstand zwischen dem Rand der Beschriftungsleistenelemente und dem Rand des Beschriftungsleisten-Steuerelements zurück.

int GetMargin() const;

Rückgabewert

Der Abstand in Pixeln zwischen dem Rand der Beschriftungsleistenelemente und dem Rand des Beschriftungsleisten-Steuerelements.

CMFCCaptionBar::IsMessageBarMode

Gibt an, ob sich die Beschriftungsleiste im Statusleistenmodus befindet.

BOOL IsMessageBarMode() const;

Rückgabewert

TRUE, wenn sich die Beschriftungsleiste im Statusleistenmodus befindet; Andernfalls FALSE.

Hinweise

Im Nachrichtenleistenmodus zeigt die Beschriftungsleiste ein Bild mit quickinfo, einem Nachrichtentext und einer Schaltfläche an.

CMFCCaptionBar::m_clrBarBackground

Die Hintergrundfarbe der Beschriftungsleiste.

COLORREF m_clrBarBackground

CMFCCaptionBar::m_clrBarBorder

Die Farbe des Rahmens der Beschriftungsleiste.

COLORREF m_clrBarBorder

CMFCCaptionBar::m_clrBarText

Die Farbe des Texts der Beschriftungsleiste.

COLORREF m_clrBarText

CMFCCaptionBar::OnDrawBackground

Vom Framework aufgerufen, um den Hintergrund der Beschriftungsleiste auszufüllen.

virtual void OnDrawBackground(
    CDC* pDC,
    CRect rect);

Parameter

pDC
[in] Ein Zeiger auf den Gerätekontext der Beschriftungsleiste.

rect
[in] Das umgebende Rechteck, das ausgefüllt werden soll.

Hinweise

Die OnDrawBackground Methode wird aufgerufen, wenn der Hintergrund der Beschriftungsleiste ausgefüllt werden soll. Die Standardimplementierung füllt den Hintergrund mithilfe der CMFCCaptionBar::m_clrBarBackground Farbe aus.

Überschreiben Sie diese Methode in einer CMFCCaptionBar abgeleiteten Klasse, um die Darstellung der Beschriftungsleiste anzupassen.

CMFCCaptionBar::OnDrawBorder

Wird vom Framework aufgerufen, um den Rahmen der Beschriftungsleiste zu zeichnen.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect rect);

Parameter

pDC
[in] Ein Gerätekontext, der zum Anzeigen der Rahmen verwendet wird.

rect
[in] Das umgebende Rechteck.

Hinweise

Standardmäßig weisen die Rahmen die flache Formatvorlage auf.

Überschreiben Sie diese Methode in einer CMFCCaptionBar abgeleiteten Klasse, um die Darstellung der Rahmenlinien der Beschriftungsleiste anzupassen.

CMFCCaptionBar::OnDrawButton

Vom Framework aufgerufen, um die Beschriftungsleistenschaltfläche zu zeichnen.

virtual void OnDrawButton(
    CDC* pDC,
    CRect rect,
    const CString& strButton,
    BOOL bEnabled);

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext, der zum Anzeigen der Schaltfläche verwendet wird.

rect
[in] Das umgebende Rechteck der Schaltfläche.

strButton
[in] Die Beschriftung der Schaltfläche.

bEnabled
[in] TRUE, wenn die Schaltfläche aktiviert ist; Andernfalls FALSE.

Hinweise

Überschreiben Sie diese Methode in einer CMFCCaptionBar abgeleiteten Klasse, um die Darstellung der Schaltfläche der Beschriftungsleiste anzupassen.

CMFCCaptionBar::OnDrawImage

Wird vom Framework aufgerufen, um das Bild der Beschriftungsleiste zu zeichnen.

virtual void OnDrawImage(
    CDC* pDC,
    CRect rect);

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext, der zum Anzeigen des Bilds verwendet wird.

rect
[in] Gibt das umgebende Rechteck des Bilds an.

Hinweise

Überschreiben Sie diese Methode in einer CMFCCaptionBar abgeleiteten Klasse, um die Darstellung des Bilds anzupassen.

CMFCCaptionBar::OnDrawText

Wird vom Framework aufgerufen, um den Text der Beschriftungsleiste zu zeichnen.

virtual void OnDrawText(
    CDC* pDC,
    CRect rect,
    const CString& strText);

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext, der zum Anzeigen der Schaltfläche verwendet wird.

rect
[in] Das umgebende Rechteck des Texts.

strText
[in] Die anzuzeigende Textzeichenfolge.

Hinweise

Die Standardimplementierung zeigt den Text mithilfe CDC::DrawText von CMFCCaptionBar::m_clrBarText Farbe an.

Überschreiben Sie diese Methode in einer CMFCCaptionBar abgeleiteten Klasse, um die Darstellung des Texts der Beschriftungsleiste anzupassen.

CMFCCaptionBar::RemoveBitmap

Entfernt das Bitmapbild aus der Beschriftungsleiste.

void RemoveBitmap();

CMFCCaptionBar::RemoveButton

Entfernt die Schaltfläche aus der Beschriftungsleiste.

void RemoveButton();

Hinweise

Das Layout von Beschriftungsleistenelementen wird automatisch angepasst.

CMFCCaptionBar::RemoveIcon

Entfernt das Symbol aus der Beschriftungsleiste.

void RemoveIcon();

CMFCCaptionBar::RemoveText

Entfernt die Textbeschriftung aus der Beschriftungsleiste.

void RemoveText();

CMFCCaptionBar::SetBitmap

Legt das Bitmapbild für die Beschriftungsleiste fest.

void SetBitmap(
    HBITMAP hBitmap,
    COLORREF clrTransparent,
    BOOL bStretch=FALSE,
    BarElementAlignment bmpAlignment=ALIGN_RIGHT);

void SetBitmap(
    UINT uiBmpResID,
    COLORREF clrTransparent,
    BOOL bStretch=FALSE,
    BarElementAlignment bmpAlignment=ALIGN_RIGHT);

Parameter

hBitmap
[in] Das Handle für die festzulegende Bitmap.

clrTransparent
[in] Ein RGB-Wert, der die transparente Farbe der Bitmap angibt.

bStretch
[in] Wenn TRUE, wird die Bitmap gestreckt, wenn sie nicht an das umgebende Rechteck des Bilds passt. Andernfalls wird die Bitmap nicht gestreckt.

bmpAlignment
[in] Die Ausrichtung der Bitmap.

Hinweise

Verwenden Sie diese Methode, um eine Bitmap auf einer Beschriftungsleiste festzulegen.

Die vorherige Bitmap wird automatisch zerstört. Wenn die Beschriftungsleiste ein Symbol anzeigt, weil Sie die CMFCCaptionBar::SetIcon-Methode aufgerufen haben, wird die Bitmap nicht angezeigt, es sei denn, Sie entfernen das Symbol durch Aufrufen von CMFCCaptionBar::RemoveIcon.

Die Bitmap wird wie durch den bmpAlignment-Parameter angegeben ausgerichtet. Dieser Parameter kann einen der folgenden BarElementAlignment-Werte aufweisen:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::SetBorderSize

Legt die Rahmengröße der Beschriftungsleiste fest.

void SetBorderSize(int nSize);

Parameter

nSize
[in] Die neue Größe des Rahmens der Beschriftungsleiste in Pixel.

CMFCCaptionBar::SetButton

Legt die Schaltfläche für die Beschriftungsleiste fest.

void SetButton(
    LPCTSTR lpszLabel,
    UINT uiCmdUI,
    BarElementAlignment btnAlignmnet=ALIGN_LEFT,
    BOOL bHasDropDownArrow=TRUE);

Parameter

lpszLabel
Befehlsbezeichnung der Schaltfläche.

uiCmdUI
Befehls-ID der Schaltfläche.

btnAlignmnet
Die Ausrichtung der Schaltfläche.

bHasDropDownArrow
TRUE, wenn die Schaltfläche einen Dropdownpfeil anzeigt, andernfalls FALSE.

CMFCCaptionBar::SetButtonPressed

Gibt an, ob die Schaltfläche gedrückt bleibt.

void SetButtonPressed(BOOL bPresed=TRUE);

Parameter

bPresed
TRUE, wenn die Schaltfläche den gedrückten Zustand behält, andernfalls FALSE.

CMFCCaptionBar::SetButtonToolTip

Legt die QuickInfo für die Schaltfläche fest.

void SetButtonToolTip(
    LPCTSTR lpszToolTip,
    LPCTSTR lpszDescription=NULL);

Parameter

lpszToolTip
[in] Die QuickInfo-Beschriftung.

lpszDescription
[in] Die QuickInfo-Beschreibung.

CMFCCaptionBar::SetFlatBorder

Legt die Rahmenart der Beschriftungsleiste fest.

void SetFlatBorder(BOOL bFlat=TRUE);

Parameter

bFlat
[in] TRUE, wenn der Rahmen einer Beschriftungsleiste flach ist. FALSE, wenn der Rahmen 3D ist.

CMFCCaptionBar::SetIcon

Legt das Symbol für eine Beschriftungsleiste fest.

void SetIcon(
    HICON hIcon,
    BarElementAlignment iconAlignment=ALIGN_RIGHT);

Parameter

hIcon
[in] Der Ziehpunkt für das festzulegende Symbol.

iconAlignment
[in] Die Ausrichtung des Symbols.

Hinweise

Beschriftungsleisten können Symbole oder Bitmaps anzeigen. Informationen zum Anzeigen einer Bitmap finden Sie unter CMFCCaptionBar::SetBitmap . Wenn Sie sowohl ein Symbol als auch eine Bitmap festlegen, wird das Symbol immer angezeigt. Rufen Sie CMFCCaptionBar::RemoveIcon auf, um ein Symbol aus der Beschriftungsleiste zu entfernen.

Das Symbol wird entsprechend dem iconAlignment-Parameter ausgerichtet. Dabei kann es sich um einen der folgenden BarElementAlignment Werte handeln:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::SetImageToolTip

Legt die QuickInfo für das Bild in der Beschriftungsleiste fest.

void SetImageToolTip(
    LPCTSTR lpszToolTip,
    LPCTSTR lpszDescription=NULL);

Parameter

lpszToolTip
[in] Der Text der QuickInfo.

lpszDescription
[in] Die QuickInfo-Beschreibung.

CMFCCaptionBar::SetMargin

Legt den Abstand zwischen dem Rand des Beschriftungsleistenelements und dem Rand des Beschriftungsleisten-Steuerelements fest.

void SetMargin(int nMargin);

Parameter

nMargin
[in] Der Abstand in Pixeln zwischen dem Rand der Beschriftungsleistenelemente und dem Rand des Beschriftungsleisten-Steuerelements.

CMFCCaptionBar::SetText

Legt die Beschriftung für die Beschriftungsleiste fest.

void SetText(
    const CString& strText,
    BarElementAlignment textAlignment=ALIGN_RIGHT);

Parameter

strText
[in] Die festzulegende Textzeichenfolge.

textAlignment
[in] Die Textausrichtung.

Hinweise

Die Textbeschriftung wird wie durch den TextAlignment-Parameter angegeben ausgerichtet. Dabei kann es sich um einen der folgenden BarElementAlignment Werte handeln:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

Siehe auch

Hierarchiediagramm
Klassen