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í popis pruhu.
Syntaxe
class CMFCCaptionBar : public CPane
Členové
Veřejné metody
Jméno | popis |
---|---|
CMFCCaptionBar::Create | Vytvoří ovládací prvek popis pruhu a připojí ho k objektuCMFCCaptionBar . |
CMFCCaptionBar::D oesAllowDynInsertBefore | Určuje, zda je možné dynamicky vložit další podokno mezi panel popis a nadřazeným rámečkem. (Přepsání CBasePane::D oesAllowDynInsertBefore.) |
CMFCCaptionBar::EnableButton | Povolí nebo zakáže tlačítko na panelu popis. |
CMFCCaptionBar::GetAlignment | Vrátí zarovnání zadaného prvku. |
CMFCCaptionBar::GetBorderSize | Vrátí velikost ohraničení popis pruhu. |
CMFCCaptionBar::GetButtonRect | Načte ohraničující obdélník tlačítka na panelu popis. |
CMFCCaptionBar::GetMargin | Vrátí vzdálenost mezi okrajem prvků popis pruhu a okrajem ovládacího prvku popis pruhu. |
CMFCCaptionBar::IsMessageBarMode | Určuje, jestli je panel popis v režimu panelu zpráv. |
CMFCCaptionBar::RemoveBitmap | Odebere rastrový obrázek z panelu popis. |
CMFCCaptionBar::RemoveButton | Odebere tlačítko z panelu popis. |
CMFCCaptionBar::RemoveIcon | Odebere ikonu z panelu popis. |
CMFCCaptionBar::RemoveText | Odebere textový popisek z panelu popis. |
CMFCCaptionBar::SetBitmap | Nastaví rastrový obrázek pro panel popis. |
CMFCCaptionBar::SetBorderSize | Nastaví velikost ohraničení popis pruhu. |
CMFCCaptionBar::SetButton | Nastaví tlačítko pro panel popis. |
CMFCCaptionBar::SetButtonPressed | Určuje, jestli tlačítko zůstane stisknuté. |
CMFCCaptionBar::SetButtonToolTip | Nastaví popis tlačítka. |
CMFCCaptionBar::SetFlatBorder | Nastaví styl ohraničení panelu popis. |
CMFCCaptionBar::SetIcon | Nastaví ikonu popis pruhu. |
CMFCCaptionBar::SetImageToolTip | Nastaví popis obrázku pro panel popis. |
CMFCCaptionBar::SetMargin | Nastaví vzdálenost mezi okrajem prvku popis pruhu a okrajem ovládacího prvku popis pruhu. |
CMFCCaptionBar::SetText | Nastaví textový popisek popis pruhu. |
Chráněné metody
Jméno | popis |
---|---|
CMFCCaptionBar::OnDrawBackground | Volá se rozhraním pro vyplnění pozadí popis pruhu. |
CMFCCaptionBar::OnDrawBorder | Volá se rozhraním k vykreslení ohraničení popis pruhu. |
CMFCCaptionBar::OnDrawButton | Volá se rozhraním pro kreslení tlačítka popis pruhu. |
CMFCCaptionBar::OnDrawImage | Volá se rozhraním pro vykreslení obrázku popis pruhu. |
CMFCCaptionBar::OnDrawText | Volá se rozhraním pro vykreslení textu popis pruhu. |
Datové členy
Jméno | popis |
---|---|
CMFCCaptionBar::m_clrBarBackground | Barva pozadí panelu popis. |
CMFCCaptionBar::m_clrBarBorder | Barva ohraničení popis pruhu |
CMFCCaptionBar::m_clrBarText | Barva textu popis pruhu |
Poznámky
Chcete-li vytvořit panel popis, postupujte takto:
CMFCCaptionBar
Vytvořte objekt. Obvykle byste přidali panel popis do třídy okna rámečku.Volání CMFCCaptionBar::Create metoda vytvořit popis pruhový ovládací prvek a připojit ho k objektu
CMFCCaptionBar
.Volání CMFCCaptionBar::SetButton, CMFCCaptionBar::SetText, CMFCCaptionBar::SetIcon a CMFCCaptionBar::SetBitmap k nastavení elementů popis pruhu.
Když nastavíte prvek tlačítka, musíte k tlačítku přiřadit ID příkazu. Když uživatel klikne na tlačítko, panel popis směruje WM_COMMAND zprávy, které mají toto ID, do okna nadřazeného rámce.
Panel popis 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 popis 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 popis pruhu, nastavit 3D ohraničení popis pruhu, nastavit vzdálenost, v pixelech, mezi okrajem prvků popis pruhu a okrajem ovládacího prvku popis pruhu, nastavit tlačítko pro popis pruh, nastavit popisek tlačítka pro tlačítko, nastavit popisek textu pro popis nastavte rastrový obrázek pro popis pruh a nastavte popis obrázku na panelu popis. 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
Požadavky
Záhlaví: afx popis bar.h
CMFCCaptionBar::Create
Vytvoří ovládací prvek popis pruhu a připojí ho k objektuCMFCCaptionBar
.
BOOL Create(
DWORD dwStyle,
CWnd* pParentWnd,
UINT uID,
int nHeight=-1,
BOOL bIsMessageBarMode=FALSE);
Parametry
dwStyle
Logická kombinace nebo stylů pruhů popis.
pParentWnd
Nadřazené okno ovládacího prvku popis pruhu.
Uid
ID ovládacího prvku popis pruhu.
nHeight
Výška ovládacího prvku popis pruhu v pixelech. Pokud je -1, výška se vypočítá podle výšky ikony, textu a tlačítka, které se zobrazí ovládací prvek popis pruhu.
bIsMessageBarMode
TRUE, pokud popis panel je v režimu panelu zpráv; JINAK NEPRAVDA.
Vrácená hodnota
TRUE, pokud popis pruhový ovládací prvek je ú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, zda je možné dynamicky vložit další podokno mezi panel popis a nadřazeným rámečkem.
virtual BOOL DoesAllowDynInsertBefore() const;
Vrácená hodnota
Vrátí hodnotu FALSE, pokud ji nepřepíšete.
Poznámky
CMFCCaptionBar::EnableButton
Povolí nebo zakáže tlačítko na panelu popis.
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 popis pruhu, pro který se má načíst zarovnání.
Vrácená 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í popis pruhu.
int GetBorderSize() const;
Vrácená hodnota
Velikost ohraničení v pixelech.
CMFCCaptionBar::GetButtonRect
Načte ohraničující obdélník tlačítka na panelu popis.
CRect GetButtonRect() const;
Vrácená hodnota
ObjektCRect
, který obsahuje souřadnice ohraničujícího obdélníku tlačítka na panelu popis.
CMFCCaptionBar::GetMargin
Vrátí vzdálenost mezi okrajem prvků popis pruhu a okrajem ovládacího prvku popis pruhu.
int GetMargin() const;
Vrácená hodnota
Vzdálenost v pixelech mezi okrajem prvků popis pruhu a okrajem ovládacího prvku popis pruhu.
CMFCCaptionBar::IsMessageBarMode
Určuje, jestli je panel popis v režimu panelu zpráv.
BOOL IsMessageBarMode() const;
Vrácená hodnota
TRUE, pokud popis panel je v režimu panelu zpráv; JINAK NEPRAVDA.
Poznámky
V režimu panelu zpráv se na panelu popis zobrazí obrázek s popisem, textem zprávy a tlačítkem.
CMFCCaptionBar::m_clrBarBackground
Barva pozadí panelu popis.
COLORREF m_clrBarBackground
CMFCCaptionBar::m_clrBarBorder
Barva ohraničení popis pruhu
COLORREF m_clrBarBorder
CMFCCaptionBar::m_clrBarText
Barva textu popis pruhu
COLORREF m_clrBarText
CMFCCaptionBar::OnDrawBackground
Volá se rozhraním pro vyplnění pozadí popis pruhu.
virtual void OnDrawBackground(
CDC* pDC,
CRect rect);
Parametry
Pdc
[v] Ukazatel na kontext zařízení na panelu popis.
Rect
[v] Ohraničující obdélník, který se má vyplnit.
Poznámky
Metoda OnDrawBackground
se volá, když se chystá vyplnit pozadí popis pruhu. Výchozí implementace vyplní pozadí pomocí barvy CMFCCaptionBar::m_clrBarBackground .
Přepsat tuto metodu v odvozené CMFCCaptionBar
třídě přizpůsobit vzhled popis pruhu.
CMFCCaptionBar::OnDrawBorder
Volá se rozhraním k vykreslení ohraničení popis pruhu.
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.
Přepište tuto metodu v odvozené CMFCCaptionBar
třídě tak, aby přizpůsobila vzhled ohraničení popis pruhu.
CMFCCaptionBar::OnDrawButton
Volá se rozhraním pro kreslení tlačítka popis pruhu.
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 popis pruhu.
CMFCCaptionBar::OnDrawImage
Volá se rozhraním pro vykreslení obrázku popis pruhu.
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
Volá se rozhraním pro vykreslení textu popis pruhu.
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.
Přepsat tuto metodu v odvozené CMFCCaptionBar
třídě přizpůsobit vzhled textu popis pruhu.
CMFCCaptionBar::RemoveBitmap
Odebere rastrový obrázek z panelu popis.
void RemoveBitmap();
CMFCCaptionBar::RemoveButton
Odebere tlačítko z panelu popis.
void RemoveButton();
Poznámky
Rozložení prvků pruhu popis se upraví automaticky.
CMFCCaptionBar::RemoveIcon
Odebere ikonu z panelu popis.
void RemoveIcon();
CMFCCaptionBar::RemoveText
Odebere textový popisek z panelu popis.
void RemoveText();
CMFCCaptionBar::SetBitmap
Nastaví rastrový obrázek pro panel popis.
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 popis pruhu.
Předchozí rastrový obrázek se automaticky zničí. Pokud popis pruh 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í popis pruhu.
void SetBorderSize(int nSize);
Parametry
NSize
[v] Nová velikost ohraničení popis pruhu v pixelech
CMFCCaptionBar::SetButton
Nastaví tlačítko pro panel popis.
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] Popis popis.
lpszDescription
[v] Popis popisu
CMFCCaptionBar::SetFlatBorder
Nastaví styl ohraničení panelu popis.
void SetFlatBorder(BOOL bFlat=TRUE);
Parametry
bFlat
[v] PRAVDA, pokud je ohraničení popis pruhu ploché. NEPRAVDA, pokud je ohraničení 3D.
CMFCCaptionBar::SetIcon
Nastaví ikonu popis pruhu.
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 popis panelu.
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 popis.
void SetImageToolTip(
LPCTSTR lpszToolTip,
LPCTSTR lpszDescription=NULL);
Parametry
lpszToolTip
[v] Text popisu
lpszDescription
[v] Popis popisu
CMFCCaptionBar::SetMargin
Nastaví vzdálenost mezi okrajem prvku popis pruhu a okrajem ovládacího prvku popis pruhu.
void SetMargin(int nMargin);
Parametry
nMargin
[v] Vzdálenost v pixelech mezi okrajem prvků popis pruhu a okrajem ovládacího prvku popis pruhu.
CMFCCaptionBar::SetText
Nastaví textový popisek popis pruhu.
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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro