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.
Składnia
class CMFCCaptionBar : public CPane
Członkowie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCCaptionBar::Create | Tworzy kontrolkę paska podpis i dołącza ją do CMFCCaptionBar obiektu. |
CMFCCaptionBar::D oesAllowDynInsertBefore | Wskazuje, czy inne okienko może być dynamicznie wstawione między paskiem podpis a ramką nadrzędną. (Przesłonięcia) CBasePane::D oesAllowDynInsertBefore. |
CMFCCaptionBar::EnableButton | Włącza lub wyłącza przycisk na pasku podpis. |
CMFCCaptionBar::GetAlignment | Zwraca wyrównanie określonego elementu. |
CMFCCaptionBar::GetBorderSize | Zwraca rozmiar obramowania paska podpis. |
CMFCCaptionBar::GetButtonRect | Pobiera prostokąt ograniczenia przycisku na pasku podpis. |
CMFCCaptionBar::GetMargin | Zwraca odległość między krawędzią elementów paska podpis a krawędzią kontrolki paska podpis. |
CMFCCaptionBar::IsMessageBarMode | Określa, czy pasek podpis jest w trybie paska komunikatów. |
CMFCCaptionBar::RemoveBitmap | Usuwa obraz mapy bitowej z paska podpis. |
CMFCCaptionBar::RemoveButton | Usuwa przycisk z paska podpis. |
CMFCCaptionBar::RemoveIcon | Usuwa ikonę z paska podpis. |
CMFCCaptionBar::RemoveText | Usuwa etykietę tekstową z paska podpis. |
CMFCCaptionBar::SetBitmap | Ustawia obraz mapy bitowej dla paska podpis. |
CMFCCaptionBar::SetBorderSize | Ustawia rozmiar obramowania paska podpis. |
CMFCCaptionBar::SetButton | Ustawia przycisk paska podpis. |
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. |
CMFCCaptionBar::SetIcon | Ustawia ikonę paska podpis. |
CMFCCaptionBar::SetImageToolTip | Ustawia etykietkę narzędzia dla obrazu paska podpis. |
CMFCCaptionBar::SetMargin | Ustawia odległość między krawędzią elementu paska podpis a krawędzią kontrolki paska podpis. |
CMFCCaptionBar::SetText | Ustawia etykietę tekstową paska podpis. |
Metody chronione
Nazwa/nazwisko | opis |
---|---|
CMFCCaptionBar::OnDrawBackground | Wywoływana przez platformę w celu wypełnienia tła paska podpis. |
CMFCCaptionBar::OnDrawBorder | Wywoływana przez strukturę w celu narysowania obramowania paska podpis. |
CMFCCaptionBar::OnDrawButton | Wywoływana przez platformę, aby narysować przycisk paska podpis. |
CMFCCaptionBar::OnDrawImage | Wywoływana przez strukturę w celu narysowania obrazu paska podpis. |
CMFCCaptionBar::OnDrawText | Wywoływana przez strukturę w celu narysowania tekstu paska podpis. |
Składowe danych
Nazwa/nazwisko | opis |
---|---|
CMFCCaptionBar::m_clrBarBackground | Kolor tła paska podpis. |
CMFCCaptionBar::m_clrBarBorder | Kolor obramowania paska podpis. |
CMFCCaptionBar::m_clrBarText | Kolor tekstu paska podpis. |
Uwagi
Aby utworzyć pasek podpis, wykonaj następujące kroki:
Skonstruuj
CMFCCaptionBar
obiekt. Zazwyczaj do klasy okna ramowego należy dodać pasek podpis.Wywołaj metodę CMFCCaptionBar::Create, aby utworzyć kontrolkę paska podpis i dołączyć ją do
CMFCCaptionBar
obiektu.Wywołaj metodę CMFCCaptionBar::SetButton, CMFCCaptionBar::SetText, CMFCCaptionBar::SetIcon i CMFCCaptionBar::SetBitmap, aby ustawić elementy paska podpis.
Po ustawieniu elementu przycisku należy przypisać identyfikator polecenia do przycisku. Gdy użytkownik kliknie przycisk, pasek podpis kieruje komunikaty WM_COMMAND, które mają ten identyfikator do okna ramki nadrzędnej.
Pasek podpis 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 podpis 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, ustawić obramowanie 3D paska podpis, ustawić odległość w pikselach między krawędzią elementów paska podpis a krawędzią kontrolki paska podpis, ustawić przycisk paska podpis, ustawić etykietkę narzędzia dla przycisku, ustawić etykietkę tekstu dla podpis ustaw obraz mapy bitowej dla paska podpis i ustaw etykietkę narzędzia dla obrazu na pasku podpis. 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: afx podpis bar.h
CMFCCaptionBar::Create
Tworzy kontrolkę paska podpis 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 or stylów paska podpis.
pParentWnd
Okno nadrzędne kontrolki paska podpis.
Uid
Identyfikator kontrolki paska podpis.
nHeight
Wysokość kontrolki paska podpis w pikselach. Jeśli jest to -1, wysokość jest obliczana zgodnie z wysokością ikony, tekst i przycisk wyświetlany przez kontrolkę paska podpis.
bIsMessageBarMode
WARTOŚĆ TRUE, jeśli pasek podpis jest w trybie paska komunikatów; FAŁSZ w przeciwnym razie.
Wartość zwracana
Wartość TRUE, jeśli kontrolka paska podpis 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 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.
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, 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.
int GetBorderSize() const;
Wartość zwracana
Rozmiar w pikselach obramowania.
CMFCCaptionBar::GetButtonRect
Pobiera prostokąt ograniczenia przycisku na pasku podpis.
CRect GetButtonRect() const;
Wartość zwracana
CRect
Obiekt zawierający współrzędne prostokąta ograniczenia przycisku na pasku podpis.
CMFCCaptionBar::GetMargin
Zwraca odległość między krawędzią elementów paska podpis a krawędzią kontrolki paska podpis.
int GetMargin() const;
Wartość zwracana
Odległość w pikselach między krawędzią elementów paska podpis a krawędzią kontrolki paska podpis.
CMFCCaptionBar::IsMessageBarMode
Określa, czy pasek podpis jest w trybie paska komunikatów.
BOOL IsMessageBarMode() const;
Wartość zwracana
WARTOŚĆ TRUE, jeśli pasek podpis jest w trybie paska komunikatów; FAŁSZ w przeciwnym razie.
Uwagi
W trybie paska komunikatów pasek podpis wyświetla obraz z etykietką narzędzia, tekstem wiadomości i przyciskiem.
CMFCCaptionBar::m_clrBarBackground
Kolor tła paska podpis.
COLORREF m_clrBarBackground
CMFCCaptionBar::m_clrBarBorder
Kolor obramowania paska podpis.
COLORREF m_clrBarBorder
CMFCCaptionBar::m_clrBarText
Kolor tekstu paska podpis.
COLORREF m_clrBarText
CMFCCaptionBar::OnDrawBackground
Wywoływana przez platformę w celu wypełnienia tła paska podpis.
virtual void OnDrawBackground(
CDC* pDC,
CRect rect);
Parametry
Pdc
[in] Wskaźnik do kontekstu urządzenia paska podpis.
Rect
[in] Prostokąt ograniczenia do wypełnienia.
Uwagi
Metoda jest wywoływanaOnDrawBackground
, gdy tło paska podpis ma zostać wypełnione. Domyślna implementacja wypełnia tło przy użyciu koloru CMFCCaptionBar::m_clrBarBackground .
Zastąp tę metodę w klasie pochodnejCMFCCaptionBar
, aby dostosować wygląd paska podpis.
CMFCCaptionBar::OnDrawBorder
Wywoływana przez strukturę w celu narysowania obramowania paska podpis.
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 pochodnejCMFCCaptionBar
, aby dostosować wygląd obramowań paska podpis.
CMFCCaptionBar::OnDrawButton
Wywoływana przez platformę, aby narysować przycisk paska podpis.
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 pochodnejCMFCCaptionBar
, aby dostosować wygląd przycisku paska podpis.
CMFCCaptionBar::OnDrawImage
Wywoływana przez strukturę w celu narysowania obrazu paska podpis.
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.
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 pochodnejCMFCCaptionBar
, aby dostosować wygląd tekstu paska podpis.
CMFCCaptionBar::RemoveBitmap
Usuwa obraz mapy bitowej z paska podpis.
void RemoveBitmap();
CMFCCaptionBar::RemoveButton
Usuwa przycisk z paska podpis.
void RemoveButton();
Uwagi
Układ elementów paska podpis jest automatycznie dostosowywany.
CMFCCaptionBar::RemoveIcon
Usuwa ikonę z paska podpis.
void RemoveIcon();
CMFCCaptionBar::RemoveText
Usuwa etykietę tekstową z paska podpis.
void RemoveText();
CMFCCaptionBar::SetBitmap
Ustawia obraz mapy bitowej dla paska podpis.
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.
Poprzednia mapa bitowa jest niszczona automatycznie. Jeśli na pasku podpis zostanie wyświetlona ikona, ponieważ wywołano metodę CMFCCaptionBar::SetIcon, mapa bitowa nie zostanie wyświetlona, 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.
void SetBorderSize(int nSize);
Parametry
nSize
[in] Nowy rozmiar w pikselach obramowania paska podpis.
CMFCCaptionBar::SetButton
Ustawia przycisk paska podpis.
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] Etykietka narzędzia podpis.
lpszDescription
[in] Opis etykietki narzędzia.
CMFCCaptionBar::SetFlatBorder
Ustawia styl obramowania paska podpis.
void SetFlatBorder(BOOL bFlat=TRUE);
Parametry
bFlat
[in] Wartość TRUE, jeśli obramowanie paska podpis jest płaskie. FAŁSZ, jeśli obramowanie ma wartość 3D.
CMFCCaptionBar::SetIcon
Ustawia ikonę paska podpis.
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.
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.
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 a krawędzią kontrolki paska podpis.
void SetMargin(int nMargin);
Parametry
nMargin
[in] Odległość w pikselach między krawędzią elementów paska podpis a krawędzią kontrolki paska podpis.
CMFCCaptionBar::SetText
Ustawia etykietę tekstową paska podpis.
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
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla