Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ří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í GetToolBarCtrlvrá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ů.
CToolBarVytvořte objekt.Voláním
Createfunkce (neboCreateEx) vytvořte panel nástrojů Systému Windows a připojte ji k objektuCToolBar.Volání
LoadToolBarpro načtení prostředku panelu nástrojů
V opačném případě postupujte takto:
CToolBarVytvořte objekt.Voláním
Createfunkce (neboCreateEx) vytvořte panel nástrojů Systému Windows a připojte ji k objektuCToolBar.Volání
LoadBitmappro načtení rastrového obrázku, který obsahuje obrázky tlačítek panelu nástrojů.Voláním
SetButtonsnastaví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í CToolBarnaleznete 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_TOPOvládací panel je v horní části okna rámečku.CBRS_BOTTOMOvládací panel je v dolní části okna rámečku.CBRS_NOALIGNOvládací panel se při změně velikosti nadřazeného objektu nepřeloží.CBRS_TOOLTIPSOvládací panel zobrazuje popisy nástrojů.CBRS_SIZE_DYNAMICOvládací panel je dynamický.CBRS_SIZE_FIXEDOvládací panel je opravený.CBRS_FLOATINGOvládací panel je plovoucí.CBRS_FLYBYStavový řádek zobrazuje informace o tlačítku.CBRS_HIDE_INPLACEOvlá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.
CreateMí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é nIDodkazuje , nStylea 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_BUTTONStandardní tlačítko (výchozí)TBBS_SEPARATOROddělovačTBBS_CHECKBOXTlačítko automatického zaškrtávacího políčkaTBBS_GROUPOznačí začátek skupiny tlačítek.TBBS_CHECKGROUPOznačí začátek skupiny tlačítek zaškrtávacího políčka.TBBS_DROPDOWNVytvoří 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_NOPREFIXText 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é lpIDArrayodkazuje .
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_BUTTONStandardní tlačítko (výchozí)TBBS_SEPARATOROddělovačTBBS_CHECKBOXTlačítko automatického zaškrtávacího políčkaTBBS_GROUPOznačí začátek skupiny tlačítek.TBBS_CHECKGROUPOznačí začátek skupiny tlačítek zaškrtávacího políčka.TBBS_DROPDOWNVytvoří 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_NOPREFIXText 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 SetButtonStyleGetButtonStyle 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í SetSizesmůž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