Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Besturingsbalken met een rij met bitmapknoppen en optionele scheidingstekens.
Syntaxis
class CToolBar : public CControlBar
Members
Openbare constructors
| Naam | Description |
|---|---|
CToolBar::CToolBar |
Maakt een CToolBar object. |
Openbare methoden
| Naam | Description |
|---|---|
CToolBar::CommandToIndex |
Retourneert de index van een knop met de opgegeven opdracht-id. |
CToolBar::Create |
Hiermee maakt u de Windows-werkbalk en koppelt u deze aan het CToolBar object. |
CToolBar::CreateEx |
Hiermee maakt u een CToolBar object met extra stijlen voor het ingesloten CToolBarCtrl object. |
CToolBar::GetButtonInfo |
Haalt de id, stijl en het afbeeldingsnummer van een knop op. |
CToolBar::GetButtonStyle |
Hiermee haalt u de stijl voor een knop op. |
CToolBar::GetButtonText |
Hiermee haalt u de tekst op die op een knop wordt weergegeven. |
CToolBar::GetItemID |
Retourneert de opdracht-id van een knop of scheidingsteken in de opgegeven index. |
CToolBar::GetItemRect |
Hiermee haalt u de weergaverechthoek voor het item in de opgegeven index op. |
CToolBar::GetToolBarCtrl |
Hiermee wordt directe toegang tot het onderliggende algemene besturingselement toegestaan. |
CToolBar::LoadBitmap |
Laadt de bitmap met bitmapknopafbeeldingen. |
CToolBar::LoadToolBar |
Hiermee wordt een werkbalkresource geladen die is gemaakt met de resource-editor. |
CToolBar::SetBitmap |
Hiermee stelt u een bitmapafbeelding in. |
CToolBar::SetButtonInfo |
Hiermee stelt u de id, stijl en het afbeeldingsnummer van een knop in. |
CToolBar::SetButtons |
Hiermee stelt u knopstijlen en een index van knopafbeeldingen in de bitmap in. |
CToolBar::SetButtonStyle |
Hiermee stelt u de stijl voor een knop in. |
CToolBar::SetButtonText |
Hiermee stelt u de tekst in die op een knop wordt weergegeven. |
CToolBar::SetHeight |
Hiermee stelt u de hoogte van de werkbalk in. |
CToolBar::SetSizes |
Hiermee stelt u de grootte van knoppen en de bijbehorende bitmaps in. |
Opmerkingen
De knoppen kunnen fungeren als drukknoppen, selectievakjeknoppen of keuzerondjes.
CToolBar objecten zijn meestal ingesloten leden van framevensterobjecten die zijn afgeleid van de klasse CFrameWnd of CMDIFrameWnd.
CToolBar::GetToolBarCtrl, een lidfunctie die nieuw is bij MFC 4.0, kunt u profiteren van de algemene ondersteuning van het Windows-besturingselement voor werkbalkaanpassing en aanvullende functionaliteit.
CToolBar lidfuncties bieden u de meeste functionaliteit van de algemene Besturingselementen van Windows; Wanneer u echter belt GetToolBarCtrl, kunt u uw werkbalken nog meer van de kenmerken van Windows 95/98-werkbalken geven. Wanneer u aanroept GetToolBarCtrl, wordt er een verwijzing naar een CToolBarCtrl object geretourneerd. Zie CToolBarCtrl voor meer informatie over het ontwerpen van werkbalken met behulp van algemene besturingselementen van Windows. Zie Algemene besturingselementen in de Windows SDK voor meer algemene informatie over algemene besturingselementen.
Visual Studio biedt twee methoden om een werkbalk te maken. Voer de volgende stappen uit om een werkbalkresource te maken met behulp van de Resource-editor:
Een werkbalkresource maken.
Maak het
CToolBarobject.Roep de
Createfunctie (ofCreateEx) aan om de Windows-werkbalk te maken en deze aan hetCToolBarobject te koppelen.Aanroep
LoadToolBarom de werkbalkresource te laden.
Voer anders de volgende stappen uit:
Maak het
CToolBarobject.Roep de
Createfunctie (ofCreateEx) aan om de Windows-werkbalk te maken en deze aan hetCToolBarobject te koppelen.Aanroep
LoadBitmapom de bitmap te laden die de afbeeldingen van de werkbalkknop bevat.Oproep
SetButtonsom de knopstijl in te stellen en elke knop te koppelen aan een afbeelding in de bitmap.
Alle knopafbeeldingen op de werkbalk zijn afkomstig van één bitmap, die één afbeelding voor elke knop moet bevatten. Alle afbeeldingen moeten dezelfde grootte hebben; de standaardwaarde is 16 pixels breed en 15 pixels hoog. Afbeeldingen moeten naast elkaar staan in de bitmap.
De SetButtons functie verwijst naar een matrix met besturings-id's en een geheel getal dat het aantal elementen in de matrix aangeeft. De functie stelt de id van elke knop in op de waarde van het bijbehorende element van de matrix en wijst elke knop een afbeeldingsindex toe, waarmee de positie van de afbeelding van de knop in de bitmap wordt opgegeven. Als een matrixelement de waarde ID_SEPARATORheeft, wordt er geen afbeeldingsindex toegewezen.
De volgorde van de afbeeldingen in de bitmap is doorgaans de volgorde waarin ze op het scherm worden getekend, maar u kunt de SetButtonInfo functie gebruiken om de relatie tussen de afbeeldingsvolgorde en tekenvolgorde te wijzigen.
Alle knoppen op een werkbalk hebben dezelfde grootte. De standaardwaarde is 24 x 22 pixels, in overeenstemming met de Windows Interface Guidelines for Software Design. Eventuele extra ruimte tussen de afmetingen van de afbeelding en knop wordt gebruikt om een rand rond de afbeelding te vormen.
Elke knop heeft één afbeelding. De verschillende knopstatussen en -stijlen (ingedrukt, omhoog, omlaag, uitgeschakeld, uitgeschakeld en onbepaald) worden gegenereerd op basis van die ene afbeelding. Hoewel bitmaps elke kleur kunnen hebben, kunt u de beste resultaten bereiken met afbeeldingen in zwart en grijstinten.
Waarschuwing
CToolBar ondersteunt bitmaps met maximaal 16 kleuren. Wanneer u een afbeelding in een werkbalkeditor laadt, wordt de afbeelding automatisch geconverteerd naar een bitmap met 16 kleuren, indien nodig en wordt een waarschuwingsbericht weergegeven als de afbeelding is geconverteerd. Als u een afbeelding met meer dan 16 kleuren gebruikt (met behulp van een externe editor om de afbeelding te bewerken), werkt de toepassing mogelijk onverwacht.
Werkbalkknoppen imiteren standaard drukknoppen. Werkbalkknoppen kunnen echter ook selectievakjeknoppen of keuzerondjes imiteren. Keuzerondjes hebben drie statussen: ingeschakeld, uitgeschakeld en onbepaald. Keuzerondjes hebben slechts twee statussen: ingeschakeld en gewist.
Als u een afzonderlijke knop of scheidingstekenstijl wilt instellen zonder naar een matrix te verwijzen, roept GetButtonStyle u aan om de stijl op te halen en roept SetButtonStyle u deze vervolgens aan in plaats van SetButtons.
SetButtonStyle is het handigst wanneer u de stijl van een knop tijdens runtime wilt wijzigen.
Als u tekst wilt toewijzen die op een knop moet worden weergegeven, roept GetButtonText u aan om de tekst op te halen die op de knop moet worden weergegeven en roept u SetButtonText vervolgens aan om de tekst in te stellen.
Als u een selectievakje wilt maken, wijst u deze de stijl TBBS_CHECKBOX toe of gebruikt u de lidfunctie van SetCheck een CCmdUI object in een ON_UPDATE_COMMAND_UI handler. Bellen SetCheck verandert in een drukknop in een selectievakjeknop. Geef SetCheck een argument van 0 door voor uitgeschakeld, 1 voor ingeschakeld of 2 voor onbepaalde tijd.
Als u een keuzerondje wilt maken, roept u de lidfunctie van SetRadio een CCmdUI object aan vanuit een ON_UPDATE_COMMAND_UI handler. Geef SetRadio een argument van 0 door voor uitgeschakeld of niet-nul voor ingeschakeld. Als u het wederzijds exclusieve gedrag van een radiogroep wilt bieden, moet u handlers hebben ON_UPDATE_COMMAND_UI voor alle knoppen in de groep.
Zie het artikel MFC Toolbar Implementation and Technical Note 31: Control Bars voor meer informatie over het gebruikCToolBar.
Overnamehiërarchie
CToolBar
Requirements
Rubriek:afxext.h
CToolBar::CommandToIndex
Deze lidfunctie retourneert de index van de eerste werkbalkknop, te beginnen op positie 0, waarvan de opdracht-id overeenkomt nIDFind.
int CommandToIndex(UINT nIDFind) const;
Parameterwaarden
nIDFind
Opdracht-id van een werkbalkknop.
Retourwaarde
De index van de knop of -1 als er geen knop de opgegeven opdracht-id heeft.
CToolBar::Create
Met deze lidfunctie maakt u een Windows-werkbalk (een onderliggend venster) en koppelt u deze aan het CToolBar object.
virtual BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
UINT nID = AFX_IDW_TOOLBAR);
Parameterwaarden
pParentWnd
Wijs het venster aan dat de bovenliggende werkbalk is.
dwStyle
De werkbalkstijl. Ondersteunde extra werkbalkstijlen zijn:
CBRS_TOPDe besturingsbalk bevindt zich boven aan het framevenster.CBRS_BOTTOMDe besturingsbalk bevindt zich onder aan het framevenster.CBRS_NOALIGNDe besturingsbalk wordt niet verplaatst wanneer het bovenliggende item wordt gewijzigd.CBRS_TOOLTIPSOp de besturingsbalk worden knopinfo weergegeven.CBRS_SIZE_DYNAMICDe besturingsbalk is dynamisch.CBRS_SIZE_FIXEDDe besturingsbalk is vast.CBRS_FLOATINGDe besturingsbalk is zwevend.CBRS_FLYBYOp de statusbalk wordt informatie over de knop weergegeven.CBRS_HIDE_INPLACEDe besturingsbalk wordt niet weergegeven voor de gebruiker.
nID
De id van het onderliggende venster van de werkbalk.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Ook wordt de hoogte van de werkbalk ingesteld op een standaardwaarde.
Example
// 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
Roep deze functie aan om een Windows-werkbalk (een onderliggend venster) te maken en deze te koppelen aan het CToolBar object.
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);
Parameterwaarden
pParentWnd
Wijs het venster aan dat de bovenliggende werkbalk is.
dwCtrlStyle
Aanvullende stijlen voor het maken van het ingesloten CToolBarCtrl object. Deze waarde is standaard ingesteld op TBSTYLE_FLAT. Zie voor een volledige lijst met werkbalkstijlen dwStyle.
dwStyle
De werkbalkstijl. Zie Werkbalkbesturing en knopstijlen in de Windows SDK voor een lijst met geschikte stijlen.
rcBorders
Een CRect object dat de breedte van de randen van het werkbalkvenster definieert. Deze randen zijn standaard ingesteld op 0,0,0,0, waardoor er een werkbalkvenster zonder randen ontstaat.
nID
De id van het onderliggende venster van de werkbalk.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Ook wordt de hoogte van de werkbalk ingesteld op een standaardwaarde.
Gebruik CreateEx, in plaats van Create, wanneer bepaalde stijlen aanwezig moeten zijn tijdens het maken van het ingesloten besturingselement voor de werkbalk. Stel bijvoorbeeld dwCtrlStyle in dat u een werkbalk wilt TBSTYLE_FLAT | TBSTYLE_TRANSPARENT maken die lijkt op de internet Explorer 4-werkbalken.
Example
// 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
Met deze lidfunctie wordt een CToolBar object samengesteld en worden de standaardgrootten ingesteld.
CToolBar();
Opmerkingen
Roep de Create lidfunctie aan om het werkbalkvenster te maken.
CToolBar::GetButtonInfo
Met deze lidfunctie wordt de besturingselement-id, stijl en afbeeldingsindex van de werkbalkknop of het scheidingsteken opgehaald op de locatie die is opgegeven door nIndex.
void GetButtonInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& iImage) const;
Parameterwaarden
nIndex
Index van de werkbalkknop of het scheidingsteken waarvan de gegevens moeten worden opgehaald.
nID
Verwijzing naar een UINT die is ingesteld op de opdracht-id van de knop.
nStyle
Verwijzing naar een UINT die is ingesteld op de stijl van de knop.
iImage
Verwijzing naar een geheel getal dat is ingesteld op de index van de afbeelding van de knop in de bitmap.
Opmerkingen
Deze waarden worden toegewezen aan de variabelen waarnaar wordt verwezen door nID, nStyleen iImage. De afbeeldingsindex is de positie van de afbeelding in de bitmap die afbeeldingen bevat voor alle werkbalkknoppen. De eerste afbeelding bevindt zich op positie 0.
Als nIndex een scheidingsteken wordt opgegeven, iImage wordt deze ingesteld op de breedte van het scheidingsteken in pixels.
CToolBar::GetButtonStyle
Roep deze lidfunctie aan om de stijl van een knop of scheidingsteken op de werkbalk op te halen.
UINT GetButtonStyle(int nIndex) const;
Parameterwaarden
nIndex
De index van de werkbalkknop of scheidingstekenstijl die moet worden opgehaald.
Retourwaarde
De stijl van de knop of het scheidingsteken dat is opgegeven door nIndex.
Opmerkingen
De stijl van een knop bepaalt hoe de knop wordt weergegeven en hoe deze reageert op gebruikersinvoer. Zie SetButtonStyle voor voorbeelden van knopstijlen.
CToolBar::GetButtonText
Roep deze lidfunctie aan om de tekst op te halen die op een knop wordt weergegeven.
CString GetButtonText(int nIndex) const;
void GetButtonText(
int nIndex,
CString& rString) const;
Parameterwaarden
nIndex
Index van de tekst die moet worden opgehaald.
rString
Een verwijzing naar een CString object dat de tekst bevat die moet worden opgehaald.
Retourwaarde
Een CString object met de knoptekst.
Opmerkingen
De tweede vorm van deze lidfunctie vult een CString object met de tekenreekstekst.
CToolBar::GetItemID
Deze lidfunctie retourneert de opdracht-id van de knop of het scheidingsteken dat is opgegeven door nIndex.
UINT GetItemID(int nIndex) const;
Parameterwaarden
nIndex
Index van het item waarvan de id moet worden opgehaald.
Retourwaarde
De opdracht-id van de knop of het scheidingsteken dat is opgegeven door nIndex.
Opmerkingen
Scheidingstekens retourneren ID_SEPARATOR.
CToolBar::GetItemRect
Deze lidfunctie vult de structuur waarvan het RECT adres is opgenomen in lpRect de coördinaten van de knop of het scheidingsteken dat is opgegeven door nIndex.
virtual void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parameterwaarden
nIndex
Index van het item (knop of scheidingsteken) waarvan de rechthoekcoördinaten moeten worden opgehaald.
lpRect
Adres van de RECT structuur die de coördinaten van het item bevat.
Opmerkingen
Coördinaten bevinden zich in pixels ten opzichte van de linkerbovenhoek van de werkbalk.
Hiermee GetItemRect haalt u de coördinaten op van een scheidingsteken dat u wilt vervangen door een keuzelijst met invoervak of een ander besturingselement.
Example
Zie het voorbeeld voor CToolBar::SetSizes.
CToolBar::GetToolBarCtrl
Deze lidfunctie biedt directe toegang tot het onderliggende algemene besturingselement.
CToolBarCtrl& GetToolBarCtrl() const;
Retourwaarde
Een verwijzing naar een CToolBarCtrl object.
Opmerkingen
Gebruik GetToolBarCtrl dit om te profiteren van de functionaliteit van het algemene beheer van de Windows-werkbalk en om te profiteren van de ondersteuning CToolBarCtrl voor het aanpassen van werkbalken.
Zie het artikel Besturingselementen en algemene besturingselementen in de Windows SDK voor meer informatie over het gebruik van algemene besturingselementen.
Example
// 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
Roep deze lidfunctie aan om de bitmap te laden die is opgegeven door lpszResourceName of nIDResource.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parameterwaarden
lpszResourceName
Wijs de resourcenaam van de bitmap aan die moet worden geladen.
nIDResource
Resource-id van de bitmap die moet worden geladen.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
De bitmap moet één afbeelding bevatten voor elke werkbalkknop. Als de afbeeldingen niet van de standaardgrootte (16 pixels breed en 15 pixels hoog) zijn, roept u SetSizes aan om de knopgrootten en de bijbehorende afbeeldingen in te stellen.
Waarschuwing
CToolBar ondersteunt bitmaps met maximaal 16 kleuren. Wanneer u een afbeelding in een werkbalkeditor laadt, wordt de afbeelding automatisch geconverteerd naar een bitmap met 16 kleuren, indien nodig en wordt een waarschuwingsbericht weergegeven als de afbeelding is geconverteerd. Als u een afbeelding met meer dan 16 kleuren gebruikt (met behulp van een externe editor om de afbeelding te bewerken), werkt de toepassing mogelijk onverwacht.
CToolBar::LoadToolBar
Roep deze lidfunctie aan om de werkbalk te laden die is opgegeven door lpszResourceName of nIDResource.
BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);
Parameterwaarden
lpszResourceName
Wijs de resourcenaam van de werkbalk aan die moet worden geladen.
nIDResource
Resource-id van de werkbalk die moet worden geladen.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Zie de werkbalkeditor voor meer informatie over het maken van een werkbalkresource.
Example
Zie het voorbeeld voor CToolBar::CreateEx.
CToolBar::SetBitmap
Roep deze lidfunctie aan om de bitmapafbeelding voor de werkbalk in te stellen.
BOOL SetBitmap(HBITMAP hbmImageWell);
Parameterwaarden
hbmImageWell
Greep van een bitmapafbeelding die is gekoppeld aan een werkbalk.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Bijvoorbeeld een aanroep SetBitmap om de bitmapafbeelding te wijzigen nadat de gebruiker een actie heeft uitgevoerd op een document waarmee de actie van een knop wordt gewijzigd.
CToolBar::SetButtonInfo
Roep deze lidfunctie aan om de opdracht-id, stijl en afbeeldingsnummer van de knop in te stellen.
void SetButtonInfo(
int nIndex,
UINT nID,
UINT nStyle,
int iImage);
Parameterwaarden
nIndex
Op nul gebaseerde index van de knop of het scheidingsteken waarvoor gegevens moeten worden ingesteld.
nID
De waarde waarop de opdracht-id van de knop is ingesteld.
nStyle
De nieuwe knopstijl. De volgende knopstijlen worden ondersteund:
TBBS_BUTTONStandaardknop (standaard)TBBS_SEPARATORScheidingstekenTBBS_CHECKBOXKnop Automatisch selectievakjeTBBS_GROUPHet begin van een groep knoppen markerenTBBS_CHECKGROUPHet begin van een groep selectievakjeknoppen markerenTBBS_DROPDOWNHiermee maakt u een vervolgkeuzelijst.TBBS_AUTOSIZEDe breedte van de knop wordt berekend op basis van de tekst van de knop, niet op de grootte van de afbeelding.TBBS_NOPREFIXAan de knoptekst is geen voorvoegsel van de accelerator gekoppeld.
iImage
Nieuwe index voor de afbeelding van de knop in de bitmap.
Opmerkingen
Voor scheidingstekens, die de stijl TBBS_SEPARATORhebben, stelt deze functie de breedte van het scheidingsteken in pixels in op de waarde die is opgeslagen in iImage.
Opmerking
U kunt ook knopstatussen instellen met behulp van de nStyle parameter. Omdat knopstatussen echter worden beheerd door de ON_UPDATE_COMMAND_UI handler, gaan alle statussen die u instelt SetButtonInfo verloren tijdens de volgende niet-actieve verwerking. Zie User-Interface-objecten en TN031 bijwerken: Besturingsbalken voor meer informatie.
Zie het overzicht en de CToolBar knoppen voor meer informatie over bitmapafbeeldingen en CToolBar::LoadBitmapknoppen.
CToolBar::SetButtons
Met deze lidfunctie wordt de opdracht-id van elke werkbalkknop ingesteld op de waarde die is opgegeven door het bijbehorende element van de matrix lpIDArray.
BOOL SetButtons(
const UINT* lpIDArray,
int nIDCount);
Parameterwaarden
lpIDArray
Aanwijzer naar een matrix met opdracht-id's. Het kan NULL zijn om lege knoppen toe te wijzen.
nIDCount
Het aantal elementen in de matrix dat wordt verwezen door lpIDArray.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Als een element van de matrix de waarde ID_SEPARATORheeft, wordt er een scheidingsteken gemaakt op de bijbehorende positie van de werkbalk. Met deze functie wordt ook de stijl van elke knop ingesteld op TBBS_BUTTON en de stijl TBBS_SEPARATORvan elk scheidingsteken op, en wordt een afbeeldingsindex aan elke knop toegewezen. De afbeeldingsindex geeft de positie van de afbeelding van de knop in de bitmap aan.
U hoeft geen rekening te houden met scheidingstekens in de bitmap, omdat met deze functie geen afbeeldingsindexen voor scheidingstekens worden toegewezen. Als de werkbalk knoppen heeft op positie 0, 1 en 3 en een scheidingsteken op positie 2, worden de afbeeldingen op positie 0, 1 en 2 in de bitmap toegewezen aan de knoppen op respectievelijk positie 0, 1 en 3.
Als lpIDArray null is, wijst deze functie ruimte toe voor het aantal items dat is opgegeven door nIDCount. Hiermee SetButtonInfo kunt u de kenmerken van elk item instellen.
CToolBar::SetButtonStyle
Roep deze lidfunctie aan om de stijl van een knop of scheidingsteken in te stellen of om knoppen te groeperen.
void SetButtonStyle(
int nIndex,
UINT nStyle);
Parameterwaarden
nIndex
Index van de knop of het scheidingsteken waarvan de gegevens moeten worden ingesteld.
nStyle
De knopstijl. De volgende knopstijlen worden ondersteund:
TBBS_BUTTONStandaardknop (standaard)TBBS_SEPARATORScheidingstekenTBBS_CHECKBOXKnop Automatisch selectievakjeTBBS_GROUPHet begin van een groep knoppen markerenTBBS_CHECKGROUPHet begin van een groep selectievakjeknoppen markerenTBBS_DROPDOWNEen vervolgkeuzelijst makenTBBS_AUTOSIZEDe breedte van de knop wordt berekend op basis van de tekst van de knop, niet op de grootte van de afbeeldingTBBS_NOPREFIXAan de knoptekst is geen voorvoegsel van een accelerator gekoppeld
Opmerkingen
De stijl van een knop bepaalt hoe de knop wordt weergegeven en hoe deze reageert op gebruikersinvoer.
Voordat u aanroept SetButtonStyle, roept u de GetButtonStyle lidfunctie aan om de knop- of scheidingstekenstijl op te halen.
Opmerking
U kunt ook knopstatussen instellen met behulp van de nStyle parameter. Omdat knopstatussen echter worden beheerd door de ON_UPDATE_COMMAND_UI handler, gaan alle statussen die u instelt SetButtonStyle verloren tijdens de volgende niet-actieve verwerking. Zie User-Interface-objecten en TN031 bijwerken: Besturingsbalken voor meer informatie.
CToolBar::SetButtonText
Roep deze functie aan om de tekst op een knop in te stellen.
BOOL SetButtonText(
int nIndex,
LPCTSTR lpszText);
Parameterwaarden
nIndex
Index van de knop waarvan de tekst moet worden ingesteld.
lpszText
Verwijst naar de tekst die op een knop moet worden ingesteld.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Example
Zie het voorbeeld voor CToolBar::GetToolBarCtrl.
CToolBar::SetHeight
Met deze lidfunctie wordt de hoogte van de werkbalk ingesteld op de waarde, in pixels, opgegeven in cyHeight.
void SetHeight(int cyHeight);
Parameterwaarden
cyHeight
De hoogte in pixels van de werkbalk.
Opmerkingen
Na het aanroepen SetSizesgebruikt u deze lidfunctie om de standaardwerkbalkhoogte te overschrijven. Als de hoogte te klein is, worden de knoppen onderaan geknipt.
Als deze functie niet wordt aangeroepen, gebruikt het framework de grootte van de knop om de hoogte van de werkbalk te bepalen.
CToolBar::SetSizes
Roep deze lidfunctie aan om de knoppen van de werkbalk in te stellen op de grootte, in pixels, opgegeven in sizeButton.
void SetSizes(
SIZE sizeButton,
SIZE sizeImage);
Parameterwaarden
sizeButton
De grootte in pixels van elke knop.
sizeImage
De grootte in pixels van elke afbeelding.
Opmerkingen
De sizeImage parameter moet de grootte, in pixels, van de afbeeldingen in de bitmap van de werkbalk bevatten. De afmetingen in sizeButton moeten voldoende zijn om de afbeelding plus 7 pixels extra breedte en 6 pixels extra in hoogte te houden. Met deze functie wordt ook de hoogte van de werkbalk ingesteld op de knoppen.
Roep deze lidfunctie alleen aan voor werkbalken die niet voldoen aan de windows-interfacerichtlijnen voor aanbevelingen voor softwareontwerp voor knop- en afbeeldingsgrootten.
Example
// 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));
Zie ook
MFC-voorbeeld CTRLBARS
MFC-voorbeeld DLGCBR32
MFC-voorbeeld DOCKTOOL
CControlBar klasse
Hiërarchiediagram
CToolBarCtrl klasse