Delen via


Knoptypen

Er zijn verschillende typen knoppen en een of meer knopstijlen om onderscheid te maken tussen knoppen van hetzelfde type.

In dit document worden de volgende onderwerpen besproken.

Knoptypen en -stijlen

Een knop behoort tot een type en kan extra stijlen hebben die van invloed zijn op het uiterlijk en gedrag. Zie Knopstijlenvoor een tabel met knopstijlen.

In de volgende schermafbeelding ziet u de verschillende typen knoppen.

schermafbeelding van een dialoogvenster met voorbeelden van acht typen knoppen

In de schermafbeelding ziet u hoe knoppen kunnen worden weergegeven in Windows Vista. Het uiterlijk is afhankelijk van verschillende versies van het besturingssysteem en afhankelijk van het thema dat door de gebruiker is ingesteld.

Let op de volgende punten over de afbeelding:

  • Het selectievakje met drie statussen wordt weergegeven in de onbepaalde status. Wanneer dit selectievakje is ingeschakeld of uitgeschakeld, ziet dit eruit als een normaal selectievakje.
  • De grote drukknop is programmatisch ingesteld op de gepushte status (door het BM_SETSTATE bericht te verzenden), zodat het uiterlijk behouden blijft, zelfs wanneer er niet op wordt geklikt.
  • In de weergegeven visuele stijl wordt de achtergrond van de standaarddrukknop (of een andere drukknop met de invoerfocus) cycli tussen blauw en grijs uitgevoerd.

Selectievakjes

Een selectievakje bestaat uit een vierkant vak en een door de toepassing gedefinieerd label, pictogram of bitmap die een keuze aangeeft die de gebruiker kan maken door de knop te selecteren. In toepassingen worden doorgaans selectievakjes weergegeven om de gebruiker in staat te stellen een of meer opties te kiezen die elkaar niet uitsluiten.

Een selectievakje kan een van de vier stijlen zijn: standaard, automatisch, drie statussen en automatische drie statussen, zoals gedefinieerd door de constanten BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATEen BS_AUTO3STATE. Elke stijl kan uitgaan van twee controlestatussen: ingeschakeld (een vinkje in het vak) of uitgeschakeld (geen vinkje). Daarnaast kan een selectievakje met drie statussen een onbepaalde status aannemen (een gearceerd selectievakje in het selectievakje), wat kan betekenen dat de gebruiker geen keuze heeft gemaakt. Als u herhaaldelijk op een standaard of automatisch selectievakje klikt, schakelt u het selectievakje van ingeschakeld naar uitgeschakeld en weer terug. Als u herhaaldelijk op een selectievakje met drie statussen klikt, wordt dit uitgeschakeld tot onbepaald en wordt de cyclus herhaald.

Wanneer de gebruiker op een selectievakje (van een stijl) klikt, krijgt het selectievakje de focus van het toetsenbord. Het systeem verzendt het bovenliggende venster van het selectievakje een WM_COMMAND bericht met de BN_CLICKED meldingscode. Het bovenliggende venster hoeft dit bericht niet te verwerken als het afkomstig is van een automatisch selectievakje of automatisch selectievakje met drie statussen, omdat het systeem automatisch de controlestatus voor deze stijlen instelt. Maar het bovenliggende venster moet het bericht afhandelen als het afkomstig is van een niet-automatisch selectievakje of een selectievakje met drie statussen, omdat het bovenliggende venster verantwoordelijk is voor het instellen van de controlestatus voor deze stijlen. Ongeacht de stijl van het selectievakje wordt het selectievakje automatisch opnieuw in het systeem geplaatst zodra de status is gewijzigd.

De toepassing kan de status van een selectievakje vaststellen met behulp van de functie IsDlgButtonChecked.

Groepsvakken

Een groepsvak is een rechthoek met een set besturingselementen, zoals selectievakjes of keuzerondjes, met een toepassingsgedefinieerde tekstlabel in de linkerbovenhoek. Het enige doel van een groepsvak is het organiseren van besturingselementen die zijn gerelateerd aan een gemeenschappelijk doel (meestal aangeduid door het label). Het groepsvak heeft slechts één stijl, gedefinieerd door de constante BS_GROUPBOX. Omdat een groepsvak niet kan worden geselecteerd, heeft het geen controlestatus, focusstatus of pushstatus.

Drukknoppen

Een drukknop is een rechthoek met een toepassingsgedefinieerde tekstlabel, een pictogram of een bitmap die aangeeft wat de knop doet wanneer de gebruiker deze selecteert.

Een drukknop kan een van de twee stijlen zijn, standaard of standaard, zoals gedefinieerd door de constanten BS_PUSHBUTTON en BS_DEFPUSHBUTTON. Een standaarddrukknop wordt meestal gebruikt om een bewerking te starten. Het ontvangt de focus van het toetsenbord wanneer de gebruiker erop klikt. Een standaardknop wordt meestal gebruikt om de meest voorkomende of standaardkeuze aan te geven, zoals het sluiten van het dialoogvenster. Het is een knop die de gebruiker kan selecteren door simpelweg op Enter te drukken wanneer er geen andere drukknop in het dialoogvenster de invoerfocus heeft.

Wanneer de gebruiker op een drukknop klikt, krijgt deze de focus van het toetsenbord. Het systeem verzendt het bovenliggende venster van de knop een WM_COMMAND bericht dat de BN_CLICKED meldingscode bevat.

De splitsknop is een speciaal soort drukknop geïntroduceerd in Windows Vista en versie 6.00. Een splitsknop is onderverdeeld in twee delen. Het belangrijkste onderdeel werkt zoals een gewone of standaarddrukknop. Het tweede deel heeft een pijl die naar beneden wijst. Normaal gesproken wordt er een menu weergegeven wanneer op de pijl wordt geklikt.

Een splitsknop heeft de stijl BS_SPLITBUTTON of de stijl BS_DEFSPLITBUTTON als dit de standaardknop in een dialoogvenster is. U kunt het uiterlijk van de knop wijzigen met behulp van het BCM_SETSPLITINFO bericht of de bijbehorende Button_SetSplitInfo macro.

Wanneer de gebruiker op het hoofdgedeelte van de splitsknop klikt, wordt er een BN_CLICKED melding verzonden, net als een normale drukknop. Maar wanneer de gebruiker op de pijl-omlaag klikt, wordt er een BCN_DROPDOWN melding verzonden. Het is de verantwoordelijkheid van de toepassing om een menu weer te geven als reactie op BCN_DROPDOWN.

Windows Vista en versie 6.00 ook een andere soort drukknop geïntroduceerd, de opdrachtkoppeling. Visueel verschilt een opdrachtkoppeling erg van een normale drukknop, maar heeft dezelfde functionaliteit. Een opdrachtkoppeling geeft meestal een pijlpictogram, een tekstregel en extra tekst in een kleiner lettertype weer.

Keuzerondjes

Een keuzerondje (ook wel keuzerondje genoemd) bestaat uit een ronde knop en een toepassingsgedefinieerd label, pictogram of bitmap dat aangeeft welke keuze de gebruiker kan maken door de knop te selecteren. Een toepassing gebruikt doorgaans keuzerondjes in een groepsvak om de gebruiker in staat te stellen een van een set gerelateerde, maar wederzijds exclusieve opties te kiezen.

Een keuzerondje kan uit twee stijlen bestaan: standaard of automatisch, zoals gedefinieerd door de stijlconstanten BS_RADIOBUTTON en BS_AUTORADIOBUTTON. Elke stijl kan twee controlestatussen aannemen: ingeschakeld (een punt in de knop) of gewist (geen punt in de knop).

Wanneer de gebruiker een van beide statussen selecteert, krijgt het keuzerondje de focus op het toetsenbord. Het systeem verzendt het bovenliggende venster van de knop een WM_COMMAND bericht met de BN_CLICKED meldingscode. Het bovenliggende venster hoeft dit bericht niet te verwerken als het afkomstig is van een automatisch keuzerondje, omdat het systeem automatisch de controlestatus voor die stijl instelt. Maar het bovenliggende venster moet het bericht afhandelen als het afkomstig is van een niet-automatisch keuzerondje, omdat het bovenliggende venster verantwoordelijk is voor het instellen van de controlestatus voor die stijl. Ongeacht de stijl van het keuzerondje wordt de knop automatisch opnieuw op de knop weergegeven wanneer de status verandert.

Keuzerondjes zijn gerangschikt in groepen en slechts één knop in de groep kan op elk gewenst moment worden gecontroleerd. Als de WS_GROUP vlag is ingesteld voor een keuzerondje, is die knop de eerste knop in een groep en alle knoppen die deze direct volgen in de tabvolgorde (maar niet zelf de vlag WS_GROUP hebben) maken deel uit van de groep. Als er geen keuzerondjes met de vlag WS_GROUP hebben, worden alle keuzerondjes in het dialoogvenster behandeld als één groep.

De toepassing kan vaststellen of een keuzerondje wordt gecontroleerd met behulp van de functie IsDlgButtonChecked.

knopstijlen

conceptuele

Knoppen gebruiken