Udostępnij za pośrednictwem


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:

  1. Skonstruuj CMFCCaptionBar obiekt. Zazwyczaj do klasy okna ramki należy dodać pasek transkrykrysu.

  2. Wywołaj metodę CMFCCaptionBar::Create , aby utworzyć kontrolkę paska podpisów 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ó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

Obiekt CObject

CCmdTarget

CWnd

CBasePane

CPane

CmFCCaptionBar

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

Zobacz też

Wykres hierarchii
Klasy