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:
Erstellen Sie das
CMFCCaptionBar
Objekt. In der Regel fügen Sie die Beschriftungsleiste einer Framefensterklasse hinzu.Rufen Sie die CMFCCaptionBar::Create-Methode auf, um das Steuerelement für die Beschriftungsleiste zu erstellen und an das
CMFCCaptionBar
Objekt anzufügen.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
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