CToolBar
Třída
Řídicí pruhy, které mají řádek rastrových tlačítek a volitelných oddělovačů
Syntaxe
class CToolBar : public CControlBar
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CToolBar::CToolBar |
CToolBar Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CToolBar::CommandToIndex |
Vrátí index tlačítka s daným ID příkazu. |
CToolBar::Create |
Vytvoří panel nástrojů Windows a připojí ho k objektu CToolBar . |
CToolBar::CreateEx |
CToolBar Vytvoří objekt s dalšími styly pro vložený CToolBarCtrl objekt. |
CToolBar::GetButtonInfo |
Načte ID, styl a číslo obrázku tlačítka. |
CToolBar::GetButtonStyle |
Načte styl tlačítka. |
CToolBar::GetButtonText |
Načte text, který se zobrazí na tlačítku. |
CToolBar::GetItemID |
Vrátí ID příkazu tlačítka nebo oddělovače v daném indexu. |
CToolBar::GetItemRect |
Načte obdélník zobrazení položky v daném indexu. |
CToolBar::GetToolBarCtrl |
Umožňuje přímý přístup k základnímu společnému řízení. |
CToolBar::LoadBitmap |
Načte rastrový obrázek obsahující obrázky rastrového obrázku. |
CToolBar::LoadToolBar |
Načte prostředek panelu nástrojů vytvořený pomocí editoru prostředků. |
CToolBar::SetBitmap |
Nastaví rastrový obrázek. |
CToolBar::SetButtonInfo |
Nastaví ID, styl a číslo obrázku tlačítka. |
CToolBar::SetButtons |
Nastaví styly tlačítek a index obrázků tlačítek v rastrovém obrázku. |
CToolBar::SetButtonStyle |
Nastaví styl tlačítka. |
CToolBar::SetButtonText |
Nastaví text, který se zobrazí na tlačítku. |
CToolBar::SetHeight |
Nastaví výšku panelu nástrojů. |
CToolBar::SetSizes |
Nastaví velikosti tlačítek a jejich rastrových obrázků. |
Poznámky
Tlačítka můžou fungovat jako tlačítka pro stisknutí tlačítka, tlačítka zaškrtávacího políčka nebo přepínače. CToolBar
objekty jsou obvykle vloženy členy rámečk-okno objekty odvozené z třídy CFrameWnd
nebo CMDIFrameWnd
.
CToolBar::GetToolBarCtrl
, členská funkce, která je nová v prostředí MFC 4.0, umožňuje využívat podporu společného ovládacího prvku Windows pro přizpůsobení panelu nástrojů a další funkce. CToolBar
členské funkce poskytují většinu funkcí běžných ovládacích prvků Windows; však při volání GetToolBarCtrl
, můžete dát panely nástrojů ještě více charakteristik systému Windows 95/98 panely nástrojů. Při volání GetToolBarCtrl
vrátí odkaz na CToolBarCtrl
objekt. Další CToolBarCtrl
informace o návrhu panelů nástrojů pomocí běžných ovládacích prvků systému Windows. Další obecné informace o běžných ovládacích prvcích naleznete v tématu Běžné ovládací prvky v sadě Windows SDK.
Visual C++ poskytuje dvě metody vytvoření panelu nástrojů. Pokud chcete vytvořit prostředek panelu nástrojů pomocí Editoru prostředků, postupujte takto:
Vytvořte prostředek panelu nástrojů.
CToolBar
Vytvořte objekt.Voláním
Create
funkce (neboCreateEx
) vytvořte panel nástrojů Systému Windows a připojte ji k objektuCToolBar
.Volání
LoadToolBar
pro načtení prostředku panelu nástrojů
V opačném případě postupujte takto:
CToolBar
Vytvořte objekt.Voláním
Create
funkce (neboCreateEx
) vytvořte panel nástrojů Systému Windows a připojte ji k objektuCToolBar
.Volání
LoadBitmap
pro načtení rastrového obrázku, který obsahuje obrázky tlačítek panelu nástrojů.Voláním
SetButtons
nastavíte styl tlačítka a přidružíte každé tlačítko k obrázku v rastrovém obrázku.
Všechny obrázky tlačítek na panelu nástrojů jsou převzaty z jednoho rastrového obrázku, který musí obsahovat jeden obrázek pro každé tlačítko. Všechny obrázky musí mít stejnou velikost; Výchozí hodnota je 16 pixelů široká a 15 pixelů vysoká. Obrázky musí být vedle sebe v rastrovém obrázku.
Funkce SetButtons
přebírá ukazatel na pole ID ovládacích prvků a celé číslo, které určuje počet prvků v poli. Funkce nastaví ID každého tlačítka na hodnotu odpovídajícího prvku pole a přiřadí každému tlačítku index obrázku, který určuje pozici obrázku v rastrovém obrázku. Pokud má prvek pole hodnotu ID_SEPARATOR
, není přiřazen žádný index obrázku.
Pořadí obrázků v rastrovém obrázku je obvykle pořadí, ve kterém jsou nakreslené na obrazovce, ale pomocí funkce můžete SetButtonInfo
změnit vztah mezi pořadím obrázků a pořadím kreslení.
Všechna tlačítka na panelu nástrojů mají stejnou velikost. Výchozí hodnota je 24 x 22 pixelů v souladu s pokyny pro rozhraní systému Windows pro návrh softwaru. Jakékoli další místo mezi rozměry obrázku a tlačítka se používá k vytvoření ohraničení kolem obrázku.
Každé tlačítko má jeden obrázek. Z jednoho obrázku se vygenerují různé stavy a styly tlačítek (stisknuté, nahoru, dolů, zakázané, zakázané a neurčité). I když rastrové obrázky můžou být libovolnou barvou, můžete dosáhnout nejlepších výsledků pomocí obrázků v černých a odstínech šedé.
Upozorňující
CToolBar
podporuje rastrové obrázky s maximálně 16 barvami. Když načtete obrázek do editoru nástrojů, Visual Studio automaticky převede obrázek na 16barevný rastrový obrázek, pokud je to potřeba, a zobrazí varovnou zprávu, pokud byl obrázek převeden. Pokud použijete obrázek s více než 16 barvami (pomocí externího editoru k úpravě obrázku), může se aplikace chovat neočekávaně.
Tlačítka panelu nástrojů ve výchozím nastavení napodobují tlačítka tlačítek. Tlačítka panelu nástrojů ale můžou také napodobovat tlačítka zaškrtávacího políčka nebo přepínače. Tlačítka zaškrtávacího políčka mají tři stavy: zaškrtnuté, nezaškrtnuté a neurčité. Přepínače mají pouze dva stavy: zaškrtnuté a nezaškrtnuté.
Chcete-li nastavit individuální tlačítko nebo styl oddělovače bez odkazování na pole, voláním GetButtonStyle
načíst styl a volat SetButtonStyle
místo SetButtons
. SetButtonStyle
je nejužitečnější, když chcete změnit styl tlačítka za běhu.
Pokud chcete přiřadit text, který se má zobrazit na tlačítku, voláním GetButtonText
načtěte text, který se zobrazí na tlačítku, a voláním SetButtonText
nastavte text.
Pokud chcete vytvořit tlačítko zaškrtávacího políčka, přiřaďte ho stylu TBBS_CHECKBOX
nebo použijte CCmdUI
členskou funkci objektu SetCheck
v obslužné rutině ON_UPDATE_COMMAND_UI
. Volání SetCheck
změní tlačítko stisknutou tlačítkem na zaškrtávací políčko. Předejte SetCheck
argument 0 pro nezaškrtnuté, 1 pro zaškrtnutí nebo 2 pro neurčité.
Chcete-li vytvořit přepínač, zavolejte CCmdUI
členskou SetRadio
funkci objektu z obslužné rutiny ON_UPDATE_COMMAND_UI
. Předejte SetRadio
argument 0 pro nezaškrtnuté nebo nenulové pro kontrolu. Aby bylo možné zajistit vzájemně se vylučující chování skupiny, musíte mít ON_UPDATE_COMMAND_UI
obslužné rutiny pro všechna tlačítka ve skupině.
Další informace o použití CToolBar
naleznete v článku MFC Toolbar Implementace a Technická poznámka 31: Ovládací panely.
Hierarchie dědičnosti
CToolBar
Požadavky
Záhlaví: afxext.h
CToolBar::CommandToIndex
Tato členová funkce vrátí index prvního tlačítka panelu nástrojů počínaje pozicí 0, jejíž ID příkazu odpovídá nIDFind
.
int CommandToIndex(UINT nIDFind) const;
Parametry
nIDFind
ID příkazu tlačítka panelu nástrojů
Návratová hodnota
Index tlačítka nebo -1, pokud žádné tlačítko nemá dané ID příkazu.
CToolBar::Create
Tato členová funkce vytvoří panel nástrojů Systému Windows (podřízené okno) a přidruží ho k objektu CToolBar
.
virtual BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
UINT nID = AFX_IDW_TOOLBAR);
Parametry
pParentWnd
Ukazatel na okno, které je nadřazený panel nástrojů.
dwStyle
Styl panelu nástrojů. Podporují se další styly panelů nástrojů:
CBRS_TOP
Ovládací panel je v horní části okna rámečku.CBRS_BOTTOM
Ovládací panel je v dolní části okna rámečku.CBRS_NOALIGN
Ovládací panel se při změně velikosti nadřazeného objektu nepřeloží.CBRS_TOOLTIPS
Ovládací panel zobrazuje popisy nástrojů.CBRS_SIZE_DYNAMIC
Ovládací panel je dynamický.CBRS_SIZE_FIXED
Ovládací panel je opravený.CBRS_FLOATING
Ovládací panel je plovoucí.CBRS_FLYBY
Stavový řádek zobrazuje informace o tlačítku.CBRS_HIDE_INPLACE
Ovládací panel se uživateli nezobrazuje.
nID
ID podřízeného okna panelu nástrojů
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Nastaví také výšku panelu nástrojů na výchozí hodnotu.
Příklad
// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.
//This example creates a dockable toolbar.
if (!m_wndToolBar.Create(this) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
//Make the toolbar dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
CToolBar::CreateEx
Voláním této funkce vytvoříte panel nástrojů Systému Windows (podřízené okno) a přidružíte ji k objektu CToolBar
.
virtual BOOL CreateEx(
CWnd* pParentWnd,
DWORD dwCtrlStyle = TBSTYLE_FLAT,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
CRect rcBorders = CRect(
0,
0,
0,
0),
UINT nID = AFX_IDW_TOOLBAR);
Parametry
pParentWnd
Ukazatel na okno, které je nadřazený panel nástrojů.
dwCtrlStyle
Další styly pro vytvoření vloženého CToolBarCtrl
objektu. Ve výchozím nastavení je tato hodnota nastavena na TBSTYLE_FLAT
. Úplný seznam stylů panelu nástrojů naleznete v tématu dwStyle
.
dwStyle
Styl panelu nástrojů. Seznam vhodných stylů najdete v části Styly ovládacích prvků a tlačítek panelu nástrojů v sadě Windows SDK.
rcBorders
Objekt CRect
, který definuje šířky ohraničení okna panelu nástrojů. Tato ohraničení jsou ve výchozím nastavení nastavená na 0 0 0 0 0 0, což vede k oknem panelu nástrojů bez ohraničení.
nID
ID podřízeného okna panelu nástrojů
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Nastaví také výšku panelu nástrojů na výchozí hodnotu.
Create
Místo toho použijteCreateEx
, když se při vytváření ovládacího prvku vloženého panelu nástrojů musí vyskytovat určité styly. Pokud chcete například dwCtrlStyle
TBSTYLE_FLAT | TBSTYLE_TRANSPARENT
vytvořit panel nástrojů podobný panelům nástrojů aplikace Internet Explorer 4.
Příklad
// This example demonstrates CToolBar::CreateEx by creating a
// toolbar as part of a child frame window. It also calls the
// LoadToolbar and EnableDocking functions
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_wndMyToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndMyToolBar);
return 0;
}
CToolBar::CToolBar
Tato členová funkce vytvoří CToolBar
objekt a nastaví výchozí velikosti.
CToolBar();
Poznámky
Voláním Create
členské funkce vytvořte okno panelu nástrojů.
CToolBar::GetButtonInfo
Tato členová funkce načte ID ovládacího prvku, styl a index obrázku tlačítka nebo oddělovače panelu nástrojů v umístění určeném parametrem nIndex
.
void GetButtonInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& iImage) const;
Parametry
nIndex
Index tlačítka nebo oddělovače panelu nástrojů, jehož informace se mají načíst.
nID
Odkaz na UINT, který je nastavený na ID příkazu tlačítka.
nStyle
Odkaz na UINT, který je nastavený na styl tlačítka.
iImage
Odkaz na celé číslo, které je nastaveno na index obrázku tlačítka v rastrovém obrázku.
Poznámky
Tyto hodnoty jsou přiřazeny proměnným, na které nID
odkazuje , nStyle
a iImage
. Index obrázku je pozice obrázku v rastrovém obrázku, který obsahuje obrázky pro všechna tlačítka panelu nástrojů. První obrázek je na pozici 0.
Pokud nIndex
určuje oddělovač, iImage
nastaví se šířka oddělovače v pixelech.
CToolBar::GetButtonStyle
Voláním této členské funkce načtete styl tlačítka nebo oddělovače na panelu nástrojů.
UINT GetButtonStyle(int nIndex) const;
Parametry
nIndex
Index tlačítka panelu nástrojů nebo stylu oddělovače, který se má načíst.
Návratová hodnota
Styl tlačítka nebo oddělovače určeného parametrem nIndex
.
Poznámky
Styl tlačítka určuje, jak se tlačítko zobrazí a jak reaguje na uživatelský vstup. Podívejte se SetButtonStyle
na příklady stylů tlačítek.
CToolBar::GetButtonText
Voláním této členské funkce načtěte text, který se zobrazí na tlačítku.
CString GetButtonText(int nIndex) const;
void GetButtonText(
int nIndex,
CString& rString) const;
Parametry
nIndex
Index textu, který se má načíst.
rString
Odkaz na CString
objekt, který bude obsahovat text, který se má načíst.
Návratová hodnota
Objekt CString
obsahující text tlačítka
Poznámky
Druhý formulář této členské funkce vyplní CString
objekt textem řetězce.
CToolBar::GetItemID
Tato členová funkce vrátí ID příkazu tlačítka nebo oddělovače určeného parametrem nIndex
.
UINT GetItemID(int nIndex) const;
Parametry
nIndex
Index položky, jejíž ID se má načíst.
Návratová hodnota
ID příkazu tlačítka nebo oddělovače určeného parametrem nIndex
.
Poznámky
Oddělovače vrátí ID_SEPARATOR
.
CToolBar::GetItemRect
Tato členová funkce vyplní RECT
strukturu, jejíž adresa je obsažena lpRect
se souřadnicemi tlačítka nebo oddělovače určeného parametrem nIndex
.
virtual void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parametry
nIndex
Index položky (tlačítka nebo oddělovače), jejíž obdélníkové souřadnice se mají načíst.
lpRect
RECT
Adresa struktury, která bude obsahovat souřadnice položky.
Poznámky
Souřadnice jsou v pixelech vzhledem k levému hornímu rohu panelu nástrojů.
Slouží GetItemRect
k získání souřadnic oddělovače, který chcete nahradit polem se seznamem nebo jiným ovládacím prvku.
Příklad
Podívejte se na příklad pro CToolBar::SetSizes
.
CToolBar::GetToolBarCtrl
Tato členová funkce umožňuje přímý přístup k základnímu společnému řízení.
CToolBarCtrl& GetToolBarCtrl() const;
Návratová hodnota
Odkaz na CToolBarCtrl
objekt.
Poznámky
Umožňuje GetToolBarCtrl
využít výhod funkcí společného ovládacího prvku panelu nástrojů Systému Windows a využít podporu CToolBarCtrl
pro přizpůsobení panelu nástrojů.
Další informace o používání běžných ovládacích prvků najdete v článku Ovládací prvky a běžné ovládací prvky v sadě Windows SDK.
Příklad
// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.
//This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
| CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));
CRect temp;
m_wndToolBar.GetItemRect(0, &temp);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(temp.Width(),
temp.Height()));
CToolBar::LoadBitmap
Voláním této členské funkce načtěte rastrový obrázek určený parametrem lpszResourceName
nebo nIDResource
.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parametry
lpszResourceName
Ukazatel na název zdroje rastrového obrázku, který se má načíst.
nIDResource
ID zdroje rastrového obrázku, který se má načíst.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Rastrový obrázek by měl obsahovat jeden obrázek pro každé tlačítko panelu nástrojů. Pokud obrázky nejsou standardní velikosti (16 pixelů široké a 15 pixelů vysoké), voláním SetSizes
nastavíte velikosti tlačítek a jejich obrázky.
Upozorňující
CToolBar
podporuje rastrové obrázky s maximálně 16 barvami. Když načtete obrázek do editoru nástrojů, Visual Studio automaticky převede obrázek na 16barevný rastrový obrázek, pokud je to potřeba, a zobrazí varovnou zprávu, pokud byl obrázek převeden. Pokud použijete obrázek s více než 16 barvami (pomocí externího editoru k úpravě obrázku), může se aplikace chovat neočekávaně.
CToolBar::LoadToolBar
Voláním této členské funkce načtěte panel nástrojů určený parametrem lpszResourceName
nebo nIDResource
.
BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);
Parametry
lpszResourceName
Ukazatel na název prostředku panelu nástrojů, který se má načíst.
nIDResource
ID prostředku panelu nástrojů, který se má načíst.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Další informace o vytvoření prostředku panelu nástrojů najdete v editoru nástrojů.
Příklad
Podívejte se na příklad pro CToolBar::CreateEx
.
CToolBar::SetBitmap
Voláním této členské funkce nastavíte rastrový obrázek panelu nástrojů.
BOOL SetBitmap(HBITMAP hbmImageWell);
Parametry
hbmImageWell
Úchyt rastrového obrázku, který je přidružený k panelu nástrojů.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Například volání SetBitmap
změny rastrového obrázku poté, co uživatel provede akci na dokumentu, který změní akci tlačítka.
CToolBar::SetButtonInfo
Voláním této členské funkce nastavíte ID, styl a číslo obrázku tlačítka.
void SetButtonInfo(
int nIndex,
UINT nID,
UINT nStyle,
int iImage);
Parametry
nIndex
Index tlačítka nebo oddělovače na základě nuly, pro které se mají nastavit informace.
nID
Hodnota, na kterou je nastaveno ID příkazu tlačítka.
nStyle
Nový styl tlačítka. Podporují se následující styly tlačítek:
TBBS_BUTTON
Standardní tlačítko (výchozí)TBBS_SEPARATOR
OddělovačTBBS_CHECKBOX
Tlačítko automatického zaškrtávacího políčkaTBBS_GROUP
Označí začátek skupiny tlačítek.TBBS_CHECKGROUP
Označí začátek skupiny tlačítek zaškrtávacího políčka.TBBS_DROPDOWN
Vytvoří tlačítko rozevíracího seznamu.TBBS_AUTOSIZE
Šířka tlačítka se vypočítá na základě textu tlačítka, nikoli na velikosti obrázku.TBBS_NOPREFIX
Text tlačítka nebude mít přidruženou předponu akcelerátoru.
iImage
Nový index obrázku tlačítka v rastrovém obrázku
Poznámky
Pro oddělovače, které mají styl TBBS_SEPARATOR
, tato funkce nastaví šířku oddělovače v pixelech na hodnotu uloženou v iImage
.
Poznámka:
Stavy tlačítek můžete nastavit také pomocí parametrunStyle
. Vzhledem k tomu, že stavy tlačítek jsou řízeny obslužnou rutinouON_UPDATE_COMMAND_UI
, bude během dalšího zpracování nečinnosti ztracen libovolný stav, který nastavíte.SetButtonInfo
Další informace najdete v tématu Aktualizace objektů uživatelského rozhraní a TN031: Řídicí panely .
Informace o rastrových obrázcích a tlačítkách naleznete v části CToolBar
Přehled a CToolBar::LoadBitmap
.
CToolBar::SetButtons
Tato členská funkce nastaví ID příkazu každého tlačítka panelu nástrojů na hodnotu určenou odpovídajícím prvkem pole lpIDArray
.
BOOL SetButtons(
const UINT* lpIDArray,
int nIDCount);
Parametry
lpIDArray
Ukazatel na pole ID příkazů. Pokud chcete přidělit prázdná tlačítka, může mít hodnotu NULL.
nIDCount
Počet prvků v matici, na které lpIDArray
odkazuje .
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Pokud má prvek pole hodnotu ID_SEPARATOR
, je vytvořen oddělovač v odpovídající pozici panelu nástrojů. Tato funkce také nastaví styl každého tlačítka na TBBS_BUTTON
styl každého oddělovače a každý styl oddělovače na TBBS_SEPARATOR
, a přiřadí index obrázku ke každému tlačítku. Index obrázku určuje pozici obrázku tlačítka v rastrovém obrázku.
Oddělovače v rastrovém obrázku nemusíte počítat, protože tato funkce nepřiřazuje indexy obrázků pro oddělovače. Pokud má panel nástrojů tlačítka na pozicích 0, 1 a 3 a oddělovač na pozici 2, přiřadí se k tlačítkům na pozicích 0, 1 a 2 v rastrovém obrázku tlačítka na pozicích 0, 1 a 3.
Pokud lpIDArray
je null, tato funkce přidělí místo pro počet položek určených parametrem nIDCount
. Slouží SetButtonInfo
k nastavení atributů jednotlivých položek.
CToolBar::SetButtonStyle
Voláním této členské funkce nastavíte styl tlačítka nebo oddělovače nebo tlačítka seskupíte.
void SetButtonStyle(
int nIndex,
UINT nStyle);
Parametry
nIndex
Index tlačítka nebo oddělovače, jehož informace se mají nastavit
nStyle
Styl tlačítka. Podporují se následující styly tlačítek:
TBBS_BUTTON
Standardní tlačítko (výchozí)TBBS_SEPARATOR
OddělovačTBBS_CHECKBOX
Tlačítko automatického zaškrtávacího políčkaTBBS_GROUP
Označí začátek skupiny tlačítek.TBBS_CHECKGROUP
Označí začátek skupiny tlačítek zaškrtávacího políčka.TBBS_DROPDOWN
Vytvoří tlačítko rozevíracího seznamu.TBBS_AUTOSIZE
Šířka tlačítka se vypočítá na základě textu tlačítka, ne na velikosti obrázku.TBBS_NOPREFIX
Text tlačítka nebude mít přidruženou předponu akcelerátoru.
Poznámky
Styl tlačítka určuje, jak se tlačítko zobrazí a jak reaguje na uživatelský vstup.
Před voláním SetButtonStyle
GetButtonStyle
volejte členovu funkci, která načte styl tlačítka nebo oddělovače.
Poznámka:
Stavy tlačítek můžete nastavit také pomocí parametrunStyle
. Vzhledem k tomu, že stavy tlačítek jsou řízeny obslužnou rutinouON_UPDATE_COMMAND_UI
, bude během dalšího zpracování nečinnosti ztracen libovolný stav, který nastavíte.SetButtonStyle
Další informace najdete v tématu Aktualizace objektů uživatelského rozhraní a TN031: Řídicí panely .
CToolBar::SetButtonText
Voláním této funkce nastavíte text na tlačítku.
BOOL SetButtonText(
int nIndex,
LPCTSTR lpszText);
Parametry
nIndex
Index tlačítka, jehož text se má nastavit.
lpszText
Odkazuje na text, který se má nastavit na tlačítku.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Příklad
Podívejte se na příklad pro CToolBar::GetToolBarCtrl
.
CToolBar::SetHeight
Tato členská funkce nastaví výšku panelu nástrojů na hodnotu v pixelech zadaných v cyHeight
.
void SetHeight(int cyHeight);
Parametry
cyHeight
Výška v pixelech panelu nástrojů.
Poznámky
Po volání SetSizes
můžete pomocí této členské funkce přepsat standardní výšku panelu nástrojů. Pokud je výška příliš malá, tlačítka se v dolní části oříznou.
Pokud tato funkce není volána, architektura pomocí velikosti tlačítka určí výšku panelu nástrojů.
CToolBar::SetSizes
Voláním této členské funkce nastavíte tlačítka panelu nástrojů na velikost v pixelech zadaných v sizeButton
.
void SetSizes(
SIZE sizeButton,
SIZE sizeImage);
Parametry
sizeButton
Velikost v pixelech každého tlačítka.
sizeImage
Velikost v pixelech každého obrázku.
Poznámky
Parametr sizeImage
musí obsahovat velikost obrázků v pixelech v rastrovém obrázku panelu nástrojů. Rozměry sizeButton
musí být dostatečné pro uložení obrázku plus 7 pixelů navíc v šířce a 6 pixelů navíc ve výšce. Tato funkce také nastaví výšku panelu nástrojů tak, aby odpovídala tlačítkům.
Volejte tuto členovou funkci pouze pro panely nástrojů, které nedodržují pokyny pro rozhraní systému Windows pro doporučení k návrhu softwaru pro tlačítka a velikosti obrázků.
Příklad
// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd
// This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
| CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));
CRect temp;
m_wndToolBar.GetItemRect(0,&temp);
m_wndToolBar.SetSizes(CSize(temp.Width(),
temp.Height()),CSize(16,15));
Viz také
Mfc – ukázka CTRLBARS
Mfc – ukázka DLGCBR32
Mfc – ukázka DOCKTOOL
CControlBar
Třída
Graf hierarchie
CToolBarCtrl
Třída