Sdílet prostřednictvím


CMFCCaptionBar – třída

Objekt CMFCCaptionBar je ovládací panel, který může zobrazit tři prvky: tlačítko, textový popisek a rastrový obrázek. Může zobrazit vždy pouze jeden prvek každého typu. Každý prvek můžete zarovnat k levému nebo pravému okraji ovládacího prvku nebo na střed. Můžete také použít plochý nebo 3D styl na horní a dolní ohraničení pruhu titulků.

Syntaxe

class CMFCCaptionBar : public CPane

Členové

Veřejné metody

Název Popis
CMFCCaptionBar::Create Vytvoří ovládací prvek popisku a připojí ho k objektu CMFCCaptionBar .
CMFCCaptionBar::D oesAllowDynInsertBefore Určuje, jestli je možné dynamicky vložit další podokno mezi řádek titulků a nadřazený rámec. (Přepsání CBasePane::D oesAllowDynInsertBefore.)
CMFCCaptionBar::EnableButton Povolí nebo zakáže tlačítko na panelu titulků.
CMFCCaptionBar::GetAlignment Vrátí zarovnání zadaného prvku.
CMFCCaptionBar::GetBorderSize Vrátí velikost ohraničení pruhu titulků.
CMFCCaptionBar::GetButtonRect Načte ohraničující obdélník tlačítka na řádku titulků.
CMFCCaptionBar::GetMargin Vrátí vzdálenost mezi okrajem prvků pruhu titulků a okrajem ovládacího prvku titulek.
CMFCCaptionBar::IsMessageBarMode Určuje, jestli je řádek titulků v režimu panelu zpráv.
CMFCCaptionBar::RemoveBitmap Odebere rastrový obrázek z řádku titulků.
CMFCCaptionBar::RemoveButton Odebere tlačítko z panelu titulků.
CMFCCaptionBar::RemoveIcon Odebere ikonu z panelu titulků.
CMFCCaptionBar::RemoveText Odebere textový popisek z řádku titulků.
CMFCCaptionBar::SetBitmap Nastaví rastrový obrázek pro řádek titulků.
CMFCCaptionBar::SetBorderSize Nastaví velikost ohraničení pruhu titulků.
CMFCCaptionBar::SetButton Nastaví tlačítko pro panel titulků.
CMFCCaptionBar::SetButtonPressed Určuje, jestli tlačítko zůstane stisknuté.
CMFCCaptionBar::SetButtonToolTip Nastaví popis tlačítka.
CMFCCaptionBar::SetFlatBorder Nastaví styl ohraničení pruhu titulků.
CMFCCaptionBar::SetIcon Nastaví ikonu pro řádek titulků.
CMFCCaptionBar::SetImageToolTip Nastaví popis obrázku pro řádek titulků.
CMFCCaptionBar::SetMargin Nastaví vzdálenost mezi okrajem prvku pruhu titulků a okrajem ovládacího prvku titulku.
CMFCCaptionBar::SetText Nastaví textový popisek pro řádek titulků.

Chráněné metody

Název Popis
CMFCCaptionBar::OnDrawBackground Volá se rozhraním pro vyplnění pozadí záhlaví.
CMFCCaptionBar::OnDrawBorder Volá se rozhraním pro vykreslení ohraničení pruhu titulků.
CMFCCaptionBar::OnDrawButton Volá se rozhraním, které nakreslete tlačítko záhlaví titulku.
CMFCCaptionBar::OnDrawImage Zavolá se rozhraním pro vykreslení obrázku pruhu titulků.
CMFCCaptionBar::OnDrawText Zavolá se rozhraním pro vykreslení textu na řádku titulků.

Datové členy

Název Popis
CMFCCaptionBar::m_clrBarBackground Barva pozadí panelu titulků
CMFCCaptionBar::m_clrBarBorder Barva ohraničení pruhu titulků
CMFCCaptionBar::m_clrBarText Barva textu na řádku titulků

Poznámky

Chcete-li vytvořit řádek titulků, postupujte takto:

  1. CMFCCaptionBar Vytvořte objekt. Obvykle byste přidali řádek titulků do třídy okna rámečku.

  2. Volání CMFCCaptionBar::Create metoda pro vytvoření ovládacího prvku titulek a připojení k objektuCMFCCaptionBar.

  3. Volání CMFCCaptionBar::SetButton, CMFCCaptionBar::SetText, CMFCCaptionBar::SetIcon a CMFCCaptionBar::SetBitmap k nastavení prvků pruhu titulků.

Když nastavíte prvek tlačítka, musíte k tlačítku přiřadit ID příkazu. Když uživatel klikne na tlačítko, řádek titulků směruje WM_COMMAND zprávy, které mají toto ID, do nadřazeného okna rámce.

Panel titulků může fungovat také v režimu panelu zpráv, který emuluje panel zpráv, který se zobrazí v aplikacích systém Microsoft Office 2007. V režimu panelu zpráv se na panelu titulků zobrazí rastrový obrázek, zpráva a tlačítko (které obvykle otevře dialogové okno).) K rastrovém obrázku můžete přiřadit popis.

Chcete-li povolit režim panelu zpráv, zavolejte CMFCCaptionBar::Create a nastavte čtvrtý parametr (bIsMessageBarMode) na TRUE.

Příklad

Následující příklad ukazuje, jak používat různé metody ve CMFCCaptionBar třídě. Příklad ukazuje, jak vytvořit ovládací prvek titulek, nastavit 3D ohraničení pruhu titulků, nastavit vzdálenost, v pixelech, mezi okrajem prvků pruhu titulků a okrajem ovládacího prvku titulek, nastavit tlačítko pro řádek titulků, nastavit popis tlačítka pro tlačítko, nastavit popisek textu pro řádek titulků, nastavte rastrový obrázek pro řádek titulků a nastavte popis obrázku na panelu titulků. Tento fragment kódu je součástí ukázky MS Office 2007 Demo.

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;
}

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CBasePane

Podokno CPane

CMFCCaptionBar

Požadavky

Záhlaví: afxcaptionbar.h

CMFCCaptionBar::Create

Vytvoří ovládací prvek popisku a připojí ho k objektu CMFCCaptionBar .

BOOL Create(
    DWORD dwStyle,
    CWnd* pParentWnd,
    UINT uID,
    int nHeight=-1,
    BOOL bIsMessageBarMode=FALSE);

Parametry

dwStyle
Logická kombinace NEBO stylů pruhu titulků.

pParentWnd
Nadřazené okno ovládacího prvku titulek

Uid
ID ovládacího prvku titulek.

nHeight
Výška ovládacího prvku titulek v pixelech. Pokud je hodnota -1, výška se vypočítá podle výšky ikony, textu a tlačítka, které se zobrazí ovládací prvek záhlaví titulku.

bIsMessageBarMode
TRUE, pokud je řádek titulků v režimu panelu zpráv; JINAK NEPRAVDA.

Návratová hodnota

TRUE, pokud je ovládací prvek titulku úspěšně vytvořen; JINAK NEPRAVDA.

Poznámky

Objekt vytvoříte CMFCCaptionBar ve dvou krocích. Nejprve zavoláte konstruktor a pak zavoláte metodu Create , která vytvoří ovládací prvek Windows a připojí ho k objektu CMFCCaptionBar .

CMFCCaptionBar::D oesAllowDynInsertBefore

Určuje, jestli je možné dynamicky vložit další podokno mezi řádek titulků a nadřazený rámec.

virtual BOOL DoesAllowDynInsertBefore() const;

Návratová hodnota

Vrátí hodnotu FALSE, pokud ji nepřepíšete.

Poznámky

CMFCCaptionBar::EnableButton

Povolí nebo zakáže tlačítko na panelu titulků.

void EnableButton(BOOL bEnable=TRUE);

Parametry

bEnable
[v] Pokud chcete tlačítko povolit, NEPRAVDA tlačítko zakážete.

CMFCCaptionBar::GetAlignment

Vrátí zarovnání zadaného prvku.

BarElementAlignment GetAlignment(BarElement elem);

Parametry

Elem
[v] Prvek pruhu titulku, pro který se má načíst zarovnání.

Návratová hodnota

Zarovnání prvku, například tlačítka, rastrového obrázku, textu nebo ikony.

Poznámky

Zarovnání elementu může být jedna z následujících hodnot:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::GetBorderSize

Vrátí velikost ohraničení pruhu titulků.

int GetBorderSize() const;

Návratová hodnota

Velikost ohraničení v pixelech.

CMFCCaptionBar::GetButtonRect

Načte ohraničující obdélník tlačítka na řádku titulků.

CRect GetButtonRect() const;

Návratová hodnota

CRect Objekt, který obsahuje souřadnice ohraničujícího obdélníku tlačítka na řádku titulků.

CMFCCaptionBar::GetMargin

Vrátí vzdálenost mezi okrajem prvků pruhu titulků a okrajem ovládacího prvku titulek.

int GetMargin() const;

Návratová hodnota

Vzdálenost v pixelech mezi okrajem prvků pruhu titulků a okrajem ovládacího prvku titulek.

CMFCCaptionBar::IsMessageBarMode

Určuje, jestli je řádek titulků v režimu panelu zpráv.

BOOL IsMessageBarMode() const;

Návratová hodnota

TRUE, pokud je řádek titulků v režimu panelu zpráv; JINAK NEPRAVDA.

Poznámky

V režimu panelu zpráv se na panelu zpráv zobrazí obrázek s popisem, textem zprávy a tlačítkem.

CMFCCaptionBar::m_clrBarBackground

Barva pozadí panelu titulků

COLORREF m_clrBarBackground

CMFCCaptionBar::m_clrBarBorder

Barva ohraničení pruhu titulků

COLORREF m_clrBarBorder

CMFCCaptionBar::m_clrBarText

Barva textu na řádku titulků

COLORREF m_clrBarText

CMFCCaptionBar::OnDrawBackground

Volá se rozhraním pro vyplnění pozadí záhlaví.

virtual void OnDrawBackground(
    CDC* pDC,
    CRect rect);

Parametry

pDC
[v] Ukazatel na kontext zařízení na panelu titulků.

Rect
[v] Ohraničující obdélník, který se má vyplnit.

Poznámky

Metoda OnDrawBackground se volá, když se chystá vyplnit pozadí panelu titulků. Výchozí implementace vyplní pozadí pomocí barvy CMFCCaptionBar::m_clrBarBackground .

Přepište tuto metodu v odvozené CMFCCaptionBar třídě tak, aby se přizpůsobil vzhled panelu titulků.

CMFCCaptionBar::OnDrawBorder

Volá se rozhraním pro vykreslení ohraničení pruhu titulků.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect rect);

Parametry

pDC
[v] Kontext zařízení, který se používá k zobrazení ohraničení.

Rect
[v] Ohraničující obdélník.

Poznámky

Ve výchozím nastavení mají ohraničení plochý styl.

Tuto metodu v odvozené CMFCCaptionBar třídě přepište tak, aby se přizpůsobil vzhled ohraničení pruhu titulků.

CMFCCaptionBar::OnDrawButton

Volá se rozhraním, které nakreslete tlačítko záhlaví titulku.

virtual void OnDrawButton(
    CDC* pDC,
    CRect rect,
    const CString& strButton,
    BOOL bEnabled);

Parametry

pDC
[v] Ukazatel na kontext zařízení, který slouží k zobrazení tlačítka.

Rect
[v] Ohraničující obdélník tlačítka.

strButton
[v] Textový popisek tlačítka.

bEnabled
[v] TRUE, pokud je tlačítko povoleno; JINAK NEPRAVDA.

Poznámky

Přepsat tuto metodu v odvozené CMFCCaptionBar třídě přizpůsobit vzhled tlačítka titulku.

CMFCCaptionBar::OnDrawImage

Zavolá se rozhraním pro vykreslení obrázku pruhu titulků.

virtual void OnDrawImage(
    CDC* pDC,
    CRect rect);

Parametry

pDC
[v] Ukazatel na kontext zařízení, který se používá k zobrazení obrázku.

Rect
[v] Určuje ohraničující obdélník obrázku.

Poznámky

Přepsat tuto metodu v odvozené CMFCCaptionBar třídě přizpůsobit vzhled obrázku.

CMFCCaptionBar::OnDrawText

Zavolá se rozhraním pro vykreslení textu na řádku titulků.

virtual void OnDrawText(
    CDC* pDC,
    CRect rect,
    const CString& strText);

Parametry

pDC
[v] Ukazatel na kontext zařízení, který slouží k zobrazení tlačítka.

Rect
[v] Ohraničující obdélník textu.

strText
[v] Textový řetězec, který se má zobrazit.

Poznámky

Výchozí implementace zobrazí text pomocí CDC::DrawText a CMFCCaptionBar::m_clrBarText barvu.

Tuto metodu v odvozené CMFCCaptionBar třídě přepište tak, aby se přizpůsobil vzhled textu řádku titulků.

CMFCCaptionBar::RemoveBitmap

Odebere rastrový obrázek z řádku titulků.

void RemoveBitmap();

CMFCCaptionBar::RemoveButton

Odebere tlačítko z panelu titulků.

void RemoveButton();

Poznámky

Rozložení prvků pruhu titulků se upraví automaticky.

CMFCCaptionBar::RemoveIcon

Odebere ikonu z panelu titulků.

void RemoveIcon();

CMFCCaptionBar::RemoveText

Odebere textový popisek z řádku titulků.

void RemoveText();

CMFCCaptionBar::SetBitmap

Nastaví rastrový obrázek pro řádek titulků.

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
[v] Úchyt rastrového obrázku, který chcete nastavit.

clrTransparent
[v] Hodnota RGB, která určuje průhlednou barvu rastrového obrázku.

bStretch
[v] Pokud je hodnota PRAVDA, rastrový obrázek se roztáhne, pokud se nevejde do obdélníku ohraničujícího obrázek. V opačném případě není rastrový obrázek roztažený.

bmpAlignment
[v] Zarovnání rastrového obrázku.

Poznámky

Tuto metodu použijte k nastavení rastrového obrázku na panelu titulků.

Předchozí rastrový obrázek se automaticky zničí. Pokud řádek titulků zobrazí ikonu, protože jste volali CMFCCaptionBar::SetIcon metoda, rastrový obrázek se nezobrazí, pokud neodeberete ikonu voláním CMFCCaptionBar::RemoveIcon.

Rastrový obrázek je zarovnaný podle parametru bmpAlignment . Tento parametr může být jedna z následujících BarElementAlignment hodnot:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::SetBorderSize

Nastaví velikost ohraničení pruhu titulků.

void SetBorderSize(int nSize);

Parametry

NSize
[v] Nová velikost ohraničení pruhu titulků v pixelech

CMFCCaptionBar::SetButton

Nastaví tlačítko pro panel titulků.

void SetButton(
    LPCTSTR lpszLabel,
    UINT uiCmdUI,
    BarElementAlignment btnAlignmnet=ALIGN_LEFT,
    BOOL bHasDropDownArrow=TRUE);

Parametry

lpszLabel
Popisek příkazu tlačítka.

uiCmdUI
ID příkazu tlačítka.

btnAlignmnet
Zarovnání tlačítka.

bHasDropDownArrow
TRUE, pokud tlačítko zobrazuje šipku rozevíracího seznamu, jinak NEPRAVDA.

CMFCCaptionBar::SetButtonPressed

Určuje, jestli tlačítko zůstane stisknuté.

void SetButtonPressed(BOOL bPresed=TRUE);

Parametry

bPresed
TRUE, pokud tlačítko udržuje svůj stisknutý stav, NEPRAVDA jinak.

CMFCCaptionBar::SetButtonToolTip

Nastaví popis tlačítka.

void SetButtonToolTip(
    LPCTSTR lpszToolTip,
    LPCTSTR lpszDescription=NULL);

Parametry

lpszToolTip
[v] Popisek.

lpszDescription
[v] Popis popisu

CMFCCaptionBar::SetFlatBorder

Nastaví styl ohraničení pruhu titulků.

void SetFlatBorder(BOOL bFlat=TRUE);

Parametry

bFlat
[v] TRUE, pokud je ohraničení pruhu titulků ploché. NEPRAVDA, pokud je ohraničení 3D.

CMFCCaptionBar::SetIcon

Nastaví ikonu pro řádek titulků.

void SetIcon(
    HICON hIcon,
    BarElementAlignment iconAlignment=ALIGN_RIGHT);

Parametry

hIcon
[v] Úchyt ikony, která se má nastavit.

iconAlignment
[v] Zarovnání ikony

Poznámky

Titulky můžou zobrazovat ikony nebo rastrové obrázky. Informace o tom, jak zobrazit rastrový obrázek, najdete v tématu CMFCCaptionBar::SetBitmap . Pokud nastavíte ikonu i rastrový obrázek, ikona se vždy zobrazí. Volání CMFCCaptionBar::RemoveIcon odebrání ikony z řádku titulků.

Ikona je zarovnaná podle parametru iconAlignment . Může to být jedna z následujících BarElementAlignment hodnot:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::SetImageToolTip

Nastaví popis obrázku na panelu titulků.

void SetImageToolTip(
    LPCTSTR lpszToolTip,
    LPCTSTR lpszDescription=NULL);

Parametry

lpszToolTip
[v] Text popisu

lpszDescription
[v] Popis popisu

CMFCCaptionBar::SetMargin

Nastaví vzdálenost mezi okrajem prvku pruhu titulků a okrajem ovládacího prvku titulku.

void SetMargin(int nMargin);

Parametry

nMargin
[v] Vzdálenost v pixelech mezi okrajem prvků pruhu titulků a okrajem ovládacího prvku titulek.

CMFCCaptionBar::SetText

Nastaví textový popisek pro řádek titulků.

void SetText(
    const CString& strText,
    BarElementAlignment textAlignment=ALIGN_RIGHT);

Parametry

strText
[v] Textový řetězec, který chcete nastavit.

textAlignment
[v] Zarovnání textu.

Poznámky

Textový popisek je zarovnaný podle parametru textAlignment . Může to být jedna z následujících BarElementAlignment hodnot:

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

Viz také

Graf hierarchie
Třídy