Klasa CMFCCaptionBar
CMFCCaptionBar
Obiekt to pasek sterowania, który może wyświetlać trzy elementy: przycisk, etykietę tekstową i mapę bitową. Może on wyświetlać tylko jeden element każdego typu jednocześnie. Każdy element można wyrównać do lewej lub prawej krawędzi kontrolki lub do środka. Możesz również zastosować styl płaski lub 3D do górnej i dolnej krawędzi paska podpisów.
Składnia
class CMFCCaptionBar : public CPane
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCCaptionBar::Create | Tworzy kontrolkę paska podpisów i dołącza ją do CMFCCaptionBar obiektu. |
CMFCCaptionBar::D oesAllowDynInsertBefore | Wskazuje, czy inne okienko może być dynamicznie wstawione między paskiem podpisów a ramką nadrzędną. (Przesłonięcia) CBasePane::D oesAllowDynInsertBefore. |
CMFCCaptionBar::EnableButton | Włącza lub wyłącza przycisk na pasku podpisów. |
CMFCCaptionBar::GetAlignment | Zwraca wyrównanie określonego elementu. |
CMFCCaptionBar::GetBorderSize | Zwraca rozmiar obramowania paska podpisów. |
CMFCCaptionBar::GetButtonRect | Pobiera prostokąt ograniczenia przycisku na pasku podpisów. |
CMFCCaptionBar::GetMargin | Zwraca odległość między krawędzią elementów paska podpisów a krawędzią kontrolki paska podpisów. |
CMFCCaptionBar::IsMessageBarMode | Określa, czy pasek podpisów jest w trybie paska komunikatów. |
CMFCCaptionBar::RemoveBitmap | Usuwa obraz mapy bitowej z paska podpisów. |
CMFCCaptionBar::RemoveButton | Usuwa przycisk z paska podpisów. |
CMFCCaptionBar::RemoveIcon | Usuwa ikonę z paska podpisów. |
CMFCCaptionBar::RemoveText | Usuwa etykietę tekstową z paska podpisów. |
CMFCCaptionBar::SetBitmap | Ustawia obraz mapy bitowej dla paska podpisów. |
CMFCCaptionBar::SetBorderSize | Ustawia rozmiar obramowania paska podpisów. |
CMFCCaptionBar::SetButton | Ustawia przycisk paska podpisów. |
CMFCCaptionBar::SetButtonPressed | Określa, czy przycisk pozostaje naciśnięty. |
CMFCCaptionBar::SetButtonToolTip | Ustawia etykietkę narzędzia dla przycisku. |
CMFCCaptionBar::SetFlatBorder | Ustawia styl obramowania paska podpisów. |
CMFCCaptionBar::SetIcon | Ustawia ikonę paska podpisów. |
CMFCCaptionBar::SetImageToolTip | Ustawia etykietkę narzędzia dla obrazu paska podpisów. |
CMFCCaptionBar::SetMargin | Ustawia odległość między krawędzią elementu paska podpisów a krawędzią kontrolki paska podpisów. |
CMFCCaptionBar::SetText | Ustawia etykietę tekstową paska podpisów. |
Metody chronione
Nazwa/nazwisko | opis |
---|---|
CMFCCaptionBar::OnDrawBackground | Wywoływana przez strukturę w celu wypełnienia tła paska podpisów. |
CMFCCaptionBar::OnDrawBorder | Wywoływana przez strukturę w celu narysowania obramowania paska podpisów. |
CMFCCaptionBar::OnDrawButton | Wywoływana przez strukturę w celu narysowania przycisku paska podpisów. |
CMFCCaptionBar::OnDrawImage | Wywoływana przez strukturę w celu narysowania obrazu paska podpisów. |
CMFCCaptionBar::OnDrawText | Wywoływana przez strukturę w celu narysowania tekstu paska podpisów. |
Składowe danych
Nazwa/nazwisko | opis |
---|---|
CMFCCaptionBar::m_clrBarBackground | Kolor tła paska podpisów. |
CMFCCaptionBar::m_clrBarBorder | Kolor obramowania paska podpisów. |
CMFCCaptionBar::m_clrBarText | Kolor tekstu paska podpisów. |
Uwagi
Aby utworzyć pasek podpisów, wykonaj następujące kroki:
Skonstruuj
CMFCCaptionBar
obiekt. Zazwyczaj do klasy okna ramki należy dodać pasek transkrykrysu.Wywołaj metodę CMFCCaptionBar::Create , aby utworzyć kontrolkę paska podpisów i dołączyć ją do
CMFCCaptionBar
obiektu.Wywołaj metodę CMFCCaptionBar::SetButton, CMFCCaptionBar::SetText, CMFCCaptionBar::SetIcon i CMFCCaptionBar::SetBitmap , aby ustawić elementy paska podpisów.
Po ustawieniu elementu przycisku należy przypisać identyfikator polecenia do przycisku. Gdy użytkownik kliknie przycisk, pasek podpisów kieruje komunikaty WM_COMMAND, które mają ten identyfikator do okna ramki nadrzędnej.
Pasek podpisów może również działać w trybie paska komunikatów, który emuluje pasek komunikatów wyświetlany w aplikacjach pakietu Microsoft Office 2007. W trybie paska komunikatów pasek napisów wyświetla mapę bitową, komunikat i przycisk (który zazwyczaj otwiera okno dialogowe). Etykietkę narzędzia można przypisać do mapy bitowej.
Aby włączyć tryb paska komunikatów, wywołaj metodę CMFCCaptionBar::Create i ustaw czwarty parametr (bIsMessageBarMode) na true.
Przykład
W poniższym przykładzie pokazano, jak używać różnych metod w CMFCCaptionBar
klasie . W przykładzie pokazano, jak utworzyć kontrolkę paska podpisów, ustawić obramowanie 3D paska podpisów, ustawić odległość, w pikselach między krawędzią elementów paska podpisów a krawędzią kontrolki paska podpisów, ustawić przycisk paska podpisów, ustawić etykietkę narzędzia dla przycisku, ustawić etykietkę tekstu dla paska podpisów, ustaw obraz mapy bitowej dla paska podpisów i ustaw etykietkę narzędzia dla obrazu na pasku podpisów. Ten fragment kodu jest częścią przykładu pokazowego pakietu MS Office 2007.
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;
}
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxcaptionbar.h
CMFCCaptionBar::Create
Tworzy kontrolkę paska podpisów i dołącza ją do CMFCCaptionBar
obiektu.
BOOL Create(
DWORD dwStyle,
CWnd* pParentWnd,
UINT uID,
int nHeight=-1,
BOOL bIsMessageBarMode=FALSE);
Parametry
dwStyle
Logiczna kombinacja stylów paska napisów LUB.
pParentWnd
Okno nadrzędne kontrolki paska podpisów.
Uid
Identyfikator kontrolki paska podpisów.
nHeight
Wysokość kontrolki paska podpisów w pikselach. Jeśli jest to -1, wysokość jest obliczana zgodnie z wysokością ikony, tekst i przycisk wyświetlany przez kontrolkę paska podpisów.
bIsMessageBarMode
WARTOŚĆ TRUE, jeśli pasek podpisu jest w trybie paska komunikatów; FAŁSZ w przeciwnym razie.
Wartość zwracana
Wartość TRUE, jeśli kontrolka paska podpisów została pomyślnie utworzona; FAŁSZ w przeciwnym razie.
Uwagi
Obiekt jest konstruowany CMFCCaptionBar
w dwóch krokach. Najpierw wywołasz konstruktor, a następnie wywołasz metodę Create
, która tworzy kontrolkę systemu Windows i dołącza ją do CMFCCaptionBar
obiektu.
CMFCCaptionBar::D oesAllowDynInsertBefore
Wskazuje, czy inne okienko może być dynamicznie wstawione między paskiem podpisów a ramką nadrzędną.
virtual BOOL DoesAllowDynInsertBefore() const;
Wartość zwracana
Zwraca wartość FALSE, chyba że zostanie zastąpiona.
Uwagi
CMFCCaptionBar::EnableButton
Włącza lub wyłącza przycisk na pasku podpisów.
void EnableButton(BOOL bEnable=TRUE);
Parametry
bEnable
[in] Wartość TRUE, aby włączyć przycisk, WARTOŚĆ FALSE, aby wyłączyć przycisk.
CMFCCaptionBar::GetAlignment
Zwraca wyrównanie określonego elementu.
BarElementAlignment GetAlignment(BarElement elem);
Parametry
Elem
[in] Element paska podpisów, dla którego ma być pobierane wyrównanie.
Wartość zwracana
Wyrównanie elementu, takiego jak przycisk, mapa bitowa, tekst lub ikona.
Uwagi
Wyrównanie elementu może być jedną z następujących wartości:
ALIGN_INVALID
ALIGN_LEFT
ALIGN_RIGHT
ALIGN_CENTER
CMFCCaptionBar::GetBorderSize
Zwraca rozmiar obramowania paska podpisów.
int GetBorderSize() const;
Wartość zwracana
Rozmiar w pikselach obramowania.
CMFCCaptionBar::GetButtonRect
Pobiera prostokąt ograniczenia przycisku na pasku podpisów.
CRect GetButtonRect() const;
Wartość zwracana
CRect
Obiekt zawierający współrzędne prostokąta ograniczenia przycisku na pasku podpisów.
CMFCCaptionBar::GetMargin
Zwraca odległość między krawędzią elementów paska podpisów a krawędzią kontrolki paska podpisów.
int GetMargin() const;
Wartość zwracana
Odległość w pikselach między krawędzią elementów paska podpisów a krawędzią kontrolki paska podpisów.
CMFCCaptionBar::IsMessageBarMode
Określa, czy pasek podpisów jest w trybie paska komunikatów.
BOOL IsMessageBarMode() const;
Wartość zwracana
WARTOŚĆ TRUE, jeśli pasek podpisu jest w trybie paska komunikatów; FAŁSZ w przeciwnym razie.
Uwagi
W trybie paska komunikatów pasek podpisów wyświetla obraz z etykietką narzędzia, tekstem wiadomości i przyciskiem.
CMFCCaptionBar::m_clrBarBackground
Kolor tła paska podpisów.
COLORREF m_clrBarBackground
CMFCCaptionBar::m_clrBarBorder
Kolor obramowania paska podpisów.
COLORREF m_clrBarBorder
CMFCCaptionBar::m_clrBarText
Kolor tekstu paska podpisów.
COLORREF m_clrBarText
CMFCCaptionBar::OnDrawBackground
Wywoływana przez strukturę w celu wypełnienia tła paska podpisów.
virtual void OnDrawBackground(
CDC* pDC,
CRect rect);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia paska podpisów.
Rect
[in] Prostokąt ograniczenia do wypełnienia.
Uwagi
Metoda OnDrawBackground
jest wywoływana, gdy tło paska podpisów ma zostać wypełnione. Domyślna implementacja wypełnia tło przy użyciu koloru CMFCCaptionBar::m_clrBarBackground .
Zastąp tę metodę w klasie pochodnej CMFCCaptionBar
, aby dostosować wygląd paska podpisów.
CMFCCaptionBar::OnDrawBorder
Wywoływana przez strukturę w celu narysowania obramowania paska podpisów.
virtual void OnDrawBorder(
CDC* pDC,
CRect rect);
Parametry
PDC
[in] Kontekst urządzenia używany do wyświetlania obramowań.
Rect
[in] Prostokąt ograniczenia.
Uwagi
Domyślnie obramowania mają styl płaski.
Zastąp tę metodę w klasie pochodnej CMFCCaptionBar
, aby dostosować wygląd obramowań paska podpisów.
CMFCCaptionBar::OnDrawButton
Wywoływana przez strukturę w celu narysowania przycisku paska podpisów.
virtual void OnDrawButton(
CDC* pDC,
CRect rect,
const CString& strButton,
BOOL bEnabled);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia, który jest używany do wyświetlania przycisku.
Rect
[in] Prostokąt ograniczenia przycisku.
strButton
[in] Etykieta tekstowa przycisku.
bEnabled
[in] WARTOŚĆ TRUE, jeśli przycisk jest włączony; FAŁSZ w przeciwnym razie.
Uwagi
Zastąp tę metodę w klasie pochodnej CMFCCaptionBar
, aby dostosować wygląd przycisku paska podpisu.
CMFCCaptionBar::OnDrawImage
Wywoływana przez strukturę w celu narysowania obrazu paska podpisów.
virtual void OnDrawImage(
CDC* pDC,
CRect rect);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia używanego do wyświetlania obrazu.
Rect
[in] Określa prostokąt ograniczenia obrazu.
Uwagi
Zastąp tę metodę w klasie pochodnej CMFCCaptionBar
, aby dostosować wygląd obrazu.
CMFCCaptionBar::OnDrawText
Wywoływana przez strukturę w celu narysowania tekstu paska podpisów.
virtual void OnDrawText(
CDC* pDC,
CRect rect,
const CString& strText);
Parametry
PDC
[in] Wskaźnik do kontekstu urządzenia, który jest używany do wyświetlania przycisku.
Rect
[in] Prostokąt ograniczenia tekstu.
strText
[in] Ciąg tekstowy do wyświetlenia.
Uwagi
Domyślna implementacja wyświetla tekst za pomocą polecenia CDC::DrawText
i CMFCCaptionBar::m_clrBarText kolor.
Zastąp tę metodę w klasie pochodnej CMFCCaptionBar
, aby dostosować wygląd tekstu paska podpisu.
CMFCCaptionBar::RemoveBitmap
Usuwa obraz mapy bitowej z paska podpisów.
void RemoveBitmap();
CMFCCaptionBar::RemoveButton
Usuwa przycisk z paska podpisów.
void RemoveButton();
Uwagi
Układ elementów paska podpisów jest automatycznie dostosowywany.
CMFCCaptionBar::RemoveIcon
Usuwa ikonę z paska podpisów.
void RemoveIcon();
CMFCCaptionBar::RemoveText
Usuwa etykietę tekstową z paska podpisów.
void RemoveText();
CMFCCaptionBar::SetBitmap
Ustawia obraz mapy bitowej dla paska podpisów.
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);
Parametry
hBitmap
[in] Uchwyt do mapy bitowej do ustawienia.
clrTransparent
[in] Wartość RGB określająca przezroczysty kolor mapy bitowej.
bStretch
[in] Jeśli wartość TRUE, mapa bitowa jest rozciągnięta, jeśli nie pasuje do prostokąta ograniczenia obrazu. W przeciwnym razie mapa bitowa nie jest rozciągnięta.
bmpAlignment
[in] Wyrównanie mapy bitowej.
Uwagi
Użyj tej metody, aby ustawić mapę bitową na pasku podpisów.
Poprzednia mapa bitowa jest niszczona automatycznie. Jeśli pasek podpisów wyświetli ikonę, ponieważ wywołano metodę CMFCCaptionBar::SetIcon , mapa bitowa nie będzie wyświetlana, chyba że usuniesz ikonę, wywołując polecenie CMFCCaptionBar::RemoveIcon.
Mapa bitowa jest wyrównana zgodnie z parametrem bmpAlignment . Ten parametr może być jedną z następujących BarElementAlignment
wartości:
ALIGN_INVALID
ALIGN_LEFT
ALIGN_RIGHT
ALIGN_CENTER
CMFCCaptionBar::SetBorderSize
Ustawia rozmiar obramowania paska podpisów.
void SetBorderSize(int nSize);
Parametry
nSize
[in] Nowy rozmiar w pikselach obramowania paska podpisów.
CMFCCaptionBar::SetButton
Ustawia przycisk paska podpisów.
void SetButton(
LPCTSTR lpszLabel,
UINT uiCmdUI,
BarElementAlignment btnAlignmnet=ALIGN_LEFT,
BOOL bHasDropDownArrow=TRUE);
Parametry
lpszLabel
Etykieta polecenia przycisku.
uiCmdUI
Identyfikator polecenia przycisku.
btnAlignmnet
Wyrównanie przycisku.
bHasDropDownArrow
WARTOŚĆ TRUE, jeśli przycisk wyświetla strzałkę listy rozwijanej, w przeciwnym razie wartość FALSE.
CMFCCaptionBar::SetButtonPressed
Określa, czy przycisk pozostaje naciśnięty.
void SetButtonPressed(BOOL bPresed=TRUE);
Parametry
bPresed
WARTOŚĆ TRUE, jeśli przycisk zachowuje stan naciśnięty, w przeciwnym razie wartość FALSE.
CMFCCaptionBar::SetButtonToolTip
Ustawia etykietkę narzędzia dla przycisku.
void SetButtonToolTip(
LPCTSTR lpszToolTip,
LPCTSTR lpszDescription=NULL);
Parametry
lpszToolTip
[in] Podpis etykietki narzędzia.
lpszDescription
[in] Opis etykietki narzędzia.
CMFCCaptionBar::SetFlatBorder
Ustawia styl obramowania paska podpisów.
void SetFlatBorder(BOOL bFlat=TRUE);
Parametry
bFlat
[in] Wartość TRUE, jeśli obramowanie paska podpisów jest płaskie. FAŁSZ, jeśli obramowanie ma wartość 3D.
CMFCCaptionBar::SetIcon
Ustawia ikonę paska podpisów.
void SetIcon(
HICON hIcon,
BarElementAlignment iconAlignment=ALIGN_RIGHT);
Parametry
hIcon
[in] Uchwyt do ikony do ustawienia.
iconAlignment
[in] Wyrównanie ikony.
Uwagi
Paski podpisów mogą wyświetlać ikony lub mapy bitowe. Zobacz CMFCCaptionBar::SetBitmap , aby dowiedzieć się, jak wyświetlić mapę bitową. Jeśli ustawisz zarówno ikonę, jak i mapę bitową, ikona będzie zawsze wyświetlana. Wywołaj metodę CMFCCaptionBar::RemoveIcon , aby usunąć ikonę z paska podpisów.
Ikona jest wyrównana zgodnie z parametrem iconAlignment . Może to być jedna z następujących BarElementAlignment
wartości:
ALIGN_INVALID
ALIGN_LEFT
ALIGN_RIGHT
ALIGN_CENTER
CMFCCaptionBar::SetImageToolTip
Ustawia etykietkę narzędzia dla obrazu na pasku podpisów.
void SetImageToolTip(
LPCTSTR lpszToolTip,
LPCTSTR lpszDescription=NULL);
Parametry
lpszToolTip
[in] Tekst etykietki narzędzia.
lpszDescription
[in] Opis etykietki narzędzia.
CMFCCaptionBar::SetMargin
Ustawia odległość między krawędzią elementu paska podpisów a krawędzią kontrolki paska podpisów.
void SetMargin(int nMargin);
Parametry
nMargin
[in] Odległość w pikselach między krawędzią elementów paska podpisów a krawędzią kontrolki paska podpisów.
CMFCCaptionBar::SetText
Ustawia etykietę tekstową paska podpisów.
void SetText(
const CString& strText,
BarElementAlignment textAlignment=ALIGN_RIGHT);
Parametry
strText
[in] Ciąg tekstowy do ustawienia.
textAlignment
[in] Wyrównanie tekstu.
Uwagi
Etykieta tekstowa jest wyrównana zgodnie z parametrem textAlignment . Może to być jedna z następujących BarElementAlignment
wartości:
ALIGN_INVALID
ALIGN_LEFT
ALIGN_RIGHT
ALIGN_CENTER