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:

  1. Skonstruuj CMFCCaptionBar obiekt. Zazwyczaj do klasy okna ramowego należy dodać pasek podpis.

  2. Wywołaj metodę CMFCCaptionBar::Create, aby utworzyć kontrolkę paska podpis i dołączyć ją do CMFCCaptionBar obiektu.

  3. 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

Cobject

Ccmdtarget

Cwnd

CBasePane

Cpane

Cmfccaptionbar

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ż

Wykres hierarchii
Klasy