Share via


Klasse CMFCDropDownToolbarButton

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een type werkbalkknop dat zich gedraagt als een gewone knop wanneer erop wordt geklikt. Er wordt echter een vervolgkeuzelijst ( CMFCDropDownToolBar Class ) geopend als de gebruiker de werkbalkknop ingedrukt houdt.

Syntaxis

class CMFCDropDownToolbarButton : public CMFCToolBarButton

Leden

Openbare constructors

Naam Description
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton Maakt een CMFCDropDownToolbarButton object.
CMFCDropDownToolbarButton::~CMFCDropDownToolbarButton Destructor.

Openbare methoden

Naam Description
CMFCDropDownToolbarButton::CopyFrom Hiermee kopieert u de eigenschappen van een andere werkbalkknop naar de huidige knop. (Hiermee overschrijft u CMFCToolBarButton::CopyFrom.)
CMFCDropDownToolbarButton::CreateObject Wordt door het framework gebruikt om een dynamisch exemplaar van dit klassetype te maken.
CMFCDropDownToolbarButton::D ropDownToolbar Hiermee opent u een vervolgkeuzelijst.
CMFCDropDownToolbarButton::ExportToMenuButton Hiermee kopieert u tekst van de werkbalkknop naar een menu. (Hiermee wordt CMFCToolBarButton::ExportToMenuButton overschreven.)
CMFCDropDownToolbarButton::GetDropDownToolBar Hiermee haalt u de vervolgkeuzelijst op die is gekoppeld aan de knop.
CMFCDropDownToolbarButton::GetThisClass Wordt door het framework gebruikt om een aanwijzer te verkrijgen naar het CRuntimeClass-object dat is gekoppeld aan dit klassetype.
CMFCDropDownToolbarButton::IsDropDown Bepaalt of de vervolgkeuzelijst momenteel is geopend.
CMFCDropDownToolbarButton::IsExtraSize Bepaalt of de knop kan worden weergegeven met een uitgebreide rand. (Overschrijft CMFCToolBarButton::IsExtraSize.)
CMFCDropDownToolbarButton::OnCalculateSize Aangeroepen door het framework om de grootte van de knop voor de opgegeven apparaatcontext en dockingstatus te berekenen. (Hiermee wordt CMFCToolBarButton::OnCalculateSize overschreven.)
CMFCDropDownToolbarButton::OnCancelMode Wordt aangeroepen door het framework om het WM_CANCELMODE bericht af te handelen. (Onderdrukkingen CMCToolBarButton::OnCancelMode.)
CMFCDropDownToolbarButton::OnChangeParentWnd Aangeroepen door het framework wanneer de knop wordt ingevoegd in een nieuwe werkbalk. (Hiermee wordt CMFCToolBarButton::OnChangeParentWnd overschreven.)
CMFCDropDownToolbarButton::OnClick Aangeroepen door het framework wanneer de gebruiker op de muisknop klikt. (Hiermee overschrijft u CMFCToolBarButton::OnClick.)
CMFCDropDownToolbarButton::OnClickUp Aangeroepen door het framework wanneer de gebruiker de muisknop loslaat. (Hiermee wordt CMFCToolBarButton::OnClickUp overschreven.)
CMFCDropDownToolbarButton::OnContextHelp Aangeroepen door het framework wanneer de bovenliggende werkbalk een WM_HELPHITTEST bericht verwerkt. (Hiermee wordt CMFCToolBarButton::OnContextHelp overschreven.)
CMFCDropDownToolbarButton::OnCustomizeMenu Hiermee wijzigt u het opgegeven menu wanneer in de toepassing een snelmenu op de bovenliggende werkbalk wordt weergegeven. (Hiermee wordt CMFCToolBarButton::OnCustomizeMenu overschreven.)
CMFCDropDownToolbarButton::OnDraw Aangeroepen door het framework om de knop te tekenen met behulp van de opgegeven stijlen en opties. (Hiermee wordt CMFCToolBarButton::OnDraw overschreven.)
CMFCDropDownToolbarButton::OnDrawOnCustomizeList Aangeroepen door het framework om de knop te tekenen in het deelvenster Opdrachten van het dialoogvenster Aanpassen . (Overschrijft CMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCDropDownToolbarButton::Serialize Leest dit object uit een archief of schrijft het naar een archief. (Hiermee wordt CMFCToolBarButton::Serialize overschreven.)
CMFCDropDownToolbarButton::SetDefaultCommand Hiermee stelt u de standaardopdracht in die door het framework wordt gebruikt wanneer een gebruiker op de knop klikt.

Gegevensleden

Naam Description
CMFCDropDownToolbarButton::m_uiShowBarDelay Hiermee geeft u de tijdsduur op die een gebruiker de muisknop ingedrukt moet houden voordat de vervolgkeuzelijst wordt weergegeven.

Opmerkingen

Een CMFCDropDownToolBarButton verschilt van een gewone knop omdat deze een kleine pijl in de rechterbenedenhoek van de knop heeft. Nadat de gebruiker een knop in de vervolgkeuzelijst heeft geselecteerd, wordt het pictogram van het framework weergegeven op de werkbalkknop op het hoogste niveau (de knop met de kleine pijl in de rechterbenedenhoek).

Zie de klasse CMFCDropDownToolBar voor informatie over het implementeren van een vervolgkeuzelijst.

Het CMFCDropDownToolBarButton object kan worden geëxporteerd naar een CMFCToolBarMenuButton Class-object en weergegeven als menuknop met een snelmenu.

Overnamehiërarchie

CObject

CMFCToolBarButton

CMFCDropDownToolbarButton

Requirements

Koptekst: afxdropdowntoolbar.h

CMFCDropDownToolbarButton::CopyFrom

Hiermee kopieert u de eigenschappen van een andere werkbalkknop naar de huidige knop.

virtual void CopyFrom(const CMFCToolBarButton& src);

Parameterwaarden

Src
[in] Een verwijzing naar de bronknop waaruit u wilt kopiëren.

Opmerkingen

Roep deze methode aan om een andere werkbalkknop naar deze werkbalkknop te kopiëren. src moet van het type CMFCDropDownToolbarButtonzijn.

CMFCDropDownToolbarButton::CMFCDropDownToolbarButton

Maakt een CMFCDropDownToolbarButton object.

CMFCDropDownToolbarButton();

CMFCDropDownToolbarButton(
    LPCTSTR lpszName,
    CMFCDropDownToolBar* pToolBar);

Parameterwaarden

lpszName
[in] De standaardtekst van de knop.

pToolBar
[in] Een aanwijzer naar het CMFCDropDownToolBar object dat wordt weergegeven wanneer de gebruiker op de knop drukt.

Opmerkingen

De tweede overbelasting van de constructor kopieert naar de vervolgkeuzelijst, de eerste knop van de werkbalk die pToolBar opgeeft.

Normaal gesproken gebruikt een vervolgkeuzelijstwerkbalkknop de tekst van de laatst gebruikte knop in de werkbalk die pToolBar opgeeft. De tekst wordt gebruikt die is opgegeven door lpszName wanneer de knop wordt geconverteerd naar een menuknop of wordt weergegeven op het tabblad Opdrachten van het dialoogvenster Aanpassen . Zie CMFCToolBarsCustomizeDialog Class voor meer informatie over het dialoogvenster Aanpassen.

Example

In het volgende voorbeeld ziet u hoe u een object van de CMFCDropDownToolbarButton klasse maakt. Dit codefragment maakt deel uit van het Visual Studio Demo-voorbeeld.

// Add dropdown resources button
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCDropDownToolBar m_wndToolbarResource
pDlgCust->AddButton(_T("Build"), CMFCDropDownToolbarButton(_T("Add Resource"), &m_wndToolbarResource));

Hiermee opent u een vervolgkeuzelijst.

BOOL DropDownToolbar(CWnd* pWnd);

Parameterwaarden

pWnd
[in] Het bovenliggende venster van het vervolgkeuzeframe of NULL om het bovenliggende venster van de knop van de vervolgkeuzelijst te gebruiken.

Retourwaarde

Niet-nul als de methode is geslaagd; anders 0.

Opmerkingen

De methode CMFCDropDownToolbarButton::OnClick roept deze methode aan om de vervolgkeuzelijst te openen wanneer de gebruiker op de werkbalk drukt en de werkbalkknop ingedrukt houdt.

Met deze methoden maakt u de vervolgkeuzelijst met behulp van de methode CMFCDropDownFrame::Create . Als de bovenliggende werkbalk verticaal is gedokt, wordt met deze methode de vervolgkeuzelijst geplaatst aan de linkerkant of aan de rechterkant van de bovenliggende werkbalk, afhankelijk van de pasvorm. Anders plaatst deze methode de vervolgkeuzewerkbalk onder de bovenliggende werkbalk.

Deze methode mislukt als pWnd NULL is en de vervolgkeuzelijst werkbalkknop geen bovenliggend venster heeft.

CMFCDropDownToolbarButton::ExportToMenuButton

Hiermee kopieert u tekst van de werkbalkknop naar een menu.

virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;

Parameterwaarden

menuButton
[in] Een verwijzing naar de knop doelmenu.

Retourwaarde

Niet-nul als de methode slaagt; anders 0.

Opmerkingen

Met deze methode wordt de basisklasse-implementatie ( CMFCToolBarButton::ExportToMenuButton) aangeroepen en vervolgens toegevoegd aan de doelmenuknop een snelmenu met elk menu-item op de werkbalk in deze knop. Met deze methode worden submenu's niet toegevoegd aan het snelmenu.

Deze methode mislukt als de bovenliggende werkbalk NULL m_pToolBaris of als de implementatie van de basisklasse ONWAAR retourneert.

CMFCDropDownToolbarButton::GetDropDownToolBar

Hiermee haalt u de vervolgkeuzelijst op die is gekoppeld aan de knop.

CMFCToolBar* GetDropDownToolBar() const;

Retourwaarde

De vervolgkeuzelijst die is gekoppeld aan de knop.

Opmerkingen

Met deze methode wordt het m_pToolBar gegevenslid geretourneerd.

CMFCDropDownToolbarButton::IsDropDown

Bepaalt of de vervolgkeuzelijst momenteel is geopend.

BOOL IsDropDown() const;

Retourwaarde

Niet-nul als de vervolgkeuzelijst momenteel is geopend; anders 0.

Opmerkingen

Het framework opent de vervolgkeuzelijst met behulp van de methode CMFCDropDownToolbarButton::D ropDownToolbar . Het framework sluit de vervolgkeuzelijst wanneer de gebruiker op de linkermuisknop in het gebied van de vervolgkeuzelijst drukt.

CMFCDropDownToolbarButton::IsExtraSize

Bepaalt of de knop kan worden weergegeven met een uitgebreide rand.

virtual BOOL IsExtraSize() const;

Retourwaarde

Niet-nul als de werkbalkknop kan worden weergegeven met een uitgebreide rand; anders 0.

Opmerkingen

Zie CMFCToolBarButton::IsExtraSize voor meer informatie over uitgebreide randen.

CMFCDropDownToolbarButton::m_uiShowBarDelay

Hiermee geeft u de tijdsduur op die een gebruiker de muisknop ingedrukt moet houden voordat de vervolgkeuzelijst wordt weergegeven.

static UINT m_uiShowBarDelay;

Opmerkingen

De vertragingstijd wordt gemeten in milliseconden. De standaardwaarde is 500. U kunt nog een vertraging instellen door de waarde van dit gedeelde gegevenslid te wijzigen.

CMFCDropDownToolbarButton::OnCalculateSize

Aangeroepen door het framework om de grootte van de knop voor de opgegeven apparaatcontext en dockingstatus te berekenen.

virtual SIZE OnCalculateSize(
    CDC* pDC,
    const CSize& sizeDefault,
    BOOL bHorz);

Parameterwaarden

Pdc
[in] De apparaatcontext waarin de knop wordt weergegeven.

sizeDefault
[in] De standaardgrootte van de knop.

bHorz
[in] De dockstatus van de bovenliggende werkbalk. Deze parameter is TRUE als de werkbalk horizontaal is gedokt of zwevend is, of ONWAAR als de werkbalk verticaal is gedokt.

Retourwaarde

Een SIZE structuur die de afmetingen van de knop bevat, in pixels.

Opmerkingen

Met deze methode wordt de basisklasse-implementatie ( CMFCToolBarButton::OnCalculateSize) uitgebreid door de breedte van de vervolgkeuzepijl toe te voegen aan de horizontale dimensie van de knopgrootte.

CMFCDropDownToolbarButton::OnChangeParentWnd

Aangeroepen door het framework wanneer de knop wordt ingevoegd in een nieuwe werkbalk.

virtual void OnChangeParentWnd(CWnd* pWndParent);

Parameterwaarden

pWndParent
[in] Het nieuwe bovenliggende venster.

Opmerkingen

Met deze methode wordt de basisklasse-implementatie ( CMFCToolBarButton::OnChangeParentWnd) overschreven door het tekstlabel ( CMFCToolBarButton::m_strText) te wissen en de CMFCToolBarButton::m_bText en CMFCToolBarButton::m_bUserButton gegevensleden op FALSE in te stellen.

CMFCDropDownToolbarButton::OnClick

Aangeroepen door het framework wanneer de gebruiker op de muisknop klikt.

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

Parameterwaarden

pWnd
[in] Het bovenliggende venster van de werkbalkknop.

bDelay
[in] WAAR als het bericht met een vertraging moet worden verwerkt.

Retourwaarde

Niet-nul als de knop het klikbericht verwerkt; anders 0.

Opmerkingen

Deze methode breidt de basisklasse-implementatie , CMFCToolBarButton::OnClick, uit door de status van de vervolgkeuzelijst bij te werken.

Wanneer een gebruiker op de werkbalkknop klikt, maakt deze methode een timer die wacht op de tijd die is opgegeven door de CMFCDropDownToolbarButton::m_uiShowBarDelay gegevenslid en vervolgens de vervolgkeuzelijstwerkbalk opent met behulp van de methode CMFCDropDownToolbarButton::D ropDownToolbar . Met deze methode wordt de vervolgkeuzelijst gesloten wanneer de gebruiker de tweede keer op de werkbalkknop klikt.

CMFCDropDownToolbarButton::OnClickUp

Aangeroepen door het framework wanneer de gebruiker de muisknop loslaat.

virtual BOOL OnClickUp();

Retourwaarde

Niet-nul als de knop het klikbericht verwerkt; anders 0.

Opmerkingen

Deze methode breidt de basisklasse-implementatie , CMFCToolBarButton::OnClickUp, uit door de status van de vervolgkeuzelijst bij te werken.

Met deze methode stopt u de timer van de vervolgkeuzelijst werkbalk als deze actief is. De vervolgkeuzelijst wordt gesloten als deze is geopend.

Zie CMFCDropDownToolbarButton::OnClick voor meer informatie over de vervolgkeuzewerkbalk en vervolgkeuzewerkbalktimer.

CMFCDropDownToolbarButton::OnContextHelp

Aangeroepen door het framework wanneer de bovenliggende werkbalk een WM_HELPHITTEST bericht verwerkt.

virtual BOOL OnContextHelp(CWnd* pWnd);

Parameterwaarden

pWnd
[in] Het bovenliggende venster van de werkbalkknop.

Retourwaarde

Niet-nul als de knop het Help-bericht verwerkt; anders 0.

Opmerkingen

Deze methode breidt de basisklasse-implementatie ( CMFCToolBarButton::OnContextHelp) uit door de methode CMFCDropDownToolbarButton::OnClick aan te roepen met bDelay ingesteld op FALSE. Deze methode retourneert de waarde die wordt geretourneerd door CMFCDropDownToolbarButton::OnClick.

Zie TN028 voor meer informatie over het WM_HELPHITTEST bericht: Context-Sensitive Help-ondersteuning.

CMFCDropDownToolbarButton::OnCustomizeMenu

Hiermee wijzigt u het opgegeven menu wanneer in de toepassing een snelmenu op de bovenliggende werkbalk wordt weergegeven.

virtual BOOL OnCustomizeMenu(CMenu* pMenu);

Parameterwaarden

pMenu
[in] Het menu dat u wilt aanpassen.

Retourwaarde

Deze methode retourneert TRUE.

Opmerkingen

Met deze methode wordt de basisklasse-implementatie ( CMFCToolBarButton::OnCustomizeMenu) uitgebreid door de volgende menu-items uit te schakelen:

  • Afbeelding van knop Kopiëren

  • Uiterlijk van knop

  • Image

  • Text

  • Afbeelding en tekst

Overschrijf deze methode om het snelmenu te wijzigen dat het framework weergeeft in de aanpassingsmodus.

CMFCDropDownToolbarButton::OnDraw

Aangeroepen door het framework om de knop te tekenen met behulp van de opgegeven stijlen en opties.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    CMFCToolBarImages* pImages,
    BOOL bHorz = TRUE,
    BOOL bCustomizeMode = FALSE,
    BOOL bHighlight = FALSE,
    BOOL bDrawBorder = TRUE,
    BOOL bGrayDisabledButtons = TRUE);

Parameterwaarden

Pdc
[in] De apparaatcontext waarin de knop wordt weergegeven.

Rect
[in] De begrenzingsrechthoek van de knop.

pImages
[in] De verzameling werkbalkafbeeldingen die aan de knop zijn gekoppeld.

bHorz
[in] De dockstatus van de bovenliggende werkbalk. Deze parameter is TRUE wanneer de knop horizontaal wordt gedokt en ONWAAR wanneer de knop verticaal wordt gedokt.

bCustomizeMode
[in] Hiermee geeft u op of de werkbalk zich in de aanpassingsmodus bevindt. Deze parameter is TRUE wanneer de werkbalk zich in de aanpassingsmodus bevindt en ONWAAR wanneer de werkbalk zich niet in de aanpassingsmodus bevindt.

bHighlight
[in] Hiermee geeft u op of de knop is gemarkeerd. Deze parameter is WAAR wanneer de knop is gemarkeerd en ONWAAR wanneer de knop niet is gemarkeerd.

bDrawBorder
[in] Hiermee geeft u op of de knop de rand moet weergeven. Deze parameter is WAAR wanneer de rand van de knop moet worden weergegeven en ONWAAR wanneer de rand van de knop niet moet worden weergegeven.

bGrayDisabledButtons
[in] Hiermee geeft u op of uitgeschakelde knoppen moeten worden gearced of de verzameling met uitgeschakelde afbeeldingen moet worden gebruikt. Deze parameter is TRUE wanneer uitgeschakelde knoppen moeten worden gearceerd en ONWAAR wanneer deze methode de verzameling uitgeschakelde installatiekopieën moet gebruiken.

Opmerkingen

Overschrijf deze methode om de werkbalkknoptekening aan te passen.

CMFCDropDownToolbarButton::OnDrawOnCustomizeList

Aangeroepen door het framework om de knop te tekenen in het deelvenster Opdrachten van het dialoogvenster Aanpassen .

virtual int OnDrawOnCustomizeList(
    CDC* pDC,
    const CRect& rect,
    BOOL bSelected);

Parameterwaarden

Pdc
[in] De apparaatcontext waarin de knop wordt weergegeven.

Rect
[in] De begrenzingsrechthoek van de knop.

bSelected
[in] Of de knop is geselecteerd. Als deze parameter TRUE is, wordt de knop geselecteerd. Als deze parameter ONWAAR is, wordt de knop niet geselecteerd.

Retourwaarde

De breedte, in pixels, van de knop in de opgegeven apparaatcontext.

Opmerkingen

Deze methode wordt aangeroepen door het dialoogvenster Aanpassing (tabblad Opdrachten ) wanneer de knop is vereist om zichzelf weer te geven in de keuzelijst met eigenaartekeningen.

Deze methode breidt de basisklasse-implementatie ( CMFCToolBarButton::OnDrawOnCustomizeList) uit door het tekstlabel van de knop te wijzigen in de naam van de knop (dat wil gezegd, naar de waarde van de parameter lpszName die u aan de constructor hebt doorgegeven).

CMFCDropDownToolbarButton::Serialize

Leest dit object uit een archief of schrijft het naar een archief.

virtual void Serialize(CArchive& ar);

Parameterwaarden

Ar
[in] Het CArchive object van waaruit of waarnaar moet worden geserialiseerd.

Opmerkingen

Deze methode breidt de implementatie van de basisklasse ( CMFCToolBarButton::Serialize) uit door de resource-id van de bovenliggende werkbalk te serialiseren. Wanneer het archief wordt geladen ( CArchive::IsLoading retourneert een niet-nulwaarde), wordt met deze methode het m_pToolBar gegevenslid ingesteld op de werkbalk die de geserialiseerde resource-id bevat.

CMFCDropDownToolbarButton::SetDefaultCommand

Hiermee stelt u de standaardopdracht in die door het framework wordt gebruikt wanneer een gebruiker op de knop klikt.

void SetDefaultCommand(UINT uiCmd);

Parameterwaarden

uiCmd
[in] De id van de standaardopdracht.

Opmerkingen

Roep deze methode aan om een standaardopdracht op te geven die door het framework wordt uitgevoerd wanneer de gebruiker op de knop klikt. Een item met de opdracht-id die is opgegeven door uiCmd , moet zich in de bovenliggende vervolgkeuzelijst bevinden.

Zie ook

Hiërarchiegrafiek
Klassen
Klasse CMFCDropDownToolBar
CMFCToolBar-klasse
CMFCToolBarMenuButton-klasse
Overzicht: Besturingselementen op werkbalken plaatsen