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

Jméno popis
CToolBar::CToolBar CToolBar Vytvoří objekt.

Veřejné metody

Jméno 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:

  1. Vytvořte prostředek panelu nástrojů.

  2. CToolBar Vytvořte objekt.

  3. Voláním Create funkce (nebo CreateEx) vytvořte panel nástrojů Systému Windows a připojte ji k objektu CToolBar .

  4. Volání LoadToolBar pro načtení prostředku panelu nástrojů

V opačném případě postupujte takto:

  1. CToolBar Vytvořte objekt.

  2. Voláním Create funkce (nebo CreateEx) vytvořte panel nástrojů Systému Windows a připojte ji k objektu CToolBar .

  3. Volání LoadBitmap pro načtení rastrového obrázku, který obsahuje obrázky tlačítek panelu nástrojů.

  4. 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í CToolBarnaleznete v článku MFC Toolbar Implementace a Technická poznámka 31: Ovládací panely.

Hierarchie dědičnosti

CObject

CCmdTarget

CWnd

CControlBar

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ů

Vrácená 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ů

Vrácená 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ů

Vrácená 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 dwCtrlStyleTBSTYLE_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.

Vrácená 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.

Vrácená 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.

Vrácená 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;

Vrácená 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.

Vrácená 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.

Vrácená 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ů.

Vrácená 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íčka

  • TBBS_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é lpIDArrayodkazuje .

Vrácená 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íčka

  • TBBS_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 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.

Vrácená 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