Delen via


Vensterbeheer

Notitie

Deze ontwerphandleiding is gemaakt voor Windows 7 en is niet bijgewerkt voor nieuwere versies van Windows. Veel van de richtlijnen zijn in principe nog steeds van toepassing, maar de presentatie en voorbeelden weerspiegelen niet onze huidige ontwerprichtlijnen.

In dit artikel wordt de standaardplaatsing van vensters beschreven wanneer deze in eerste instantie op het scherm worden weergegeven, de stapelvolgorde ten opzichte van andere vensters (Z-volgorde), de oorspronkelijke grootte en hoe de weergave van invloed is op de invoerfocus.

Voor de volgende richtlijnen:

  • Een venster op het hoogste niveau heeft geen eigenaarvenster en wordt weergegeven op de taakbalk. Voorbeelden: toepassingsvensters. In Windows Vista en hoger worden dialoogvensters zonder eigenaarsvensters en eigenschappenvensters ook beschouwd als het hoogste niveau.
  • Een venster in eigendom heeft een eigenaarvenster en wordt niet weergegeven op de taakbalk. Voorbeelden: modale dialoogvensters, modusloze dialoogvensters.
  • Een door de gebruiker geïnitieerd venster wordt weergegeven als het directe resultaat van de actie van een gebruiker. Anders wordt het programma geïnitieerd als dit wordt gestart door een programma of systeem dat is geïnitieerd door Microsoft Windows. Een dialoogvenster Opties is bijvoorbeeld door de gebruiker geïnitieerd, maar er wordt een herinnering voor een vergadering gestart.
  • Een contextueel venster is een door de gebruiker geïnitieerd venster met een sterke relatie met het object waaruit het is gestart. Vensters die worden weergegeven door contextmenu's of pictogrammen in het systeemvak zijn bijvoorbeeld contextueel, maar vensters die worden weergegeven door menubalken, zijn dat niet.
  • De actieve monitor is de monitor waarop het actieve programma wordt uitgevoerd.
  • De standaardmonitor is de monitor met het menu Start, de taakbalk en het systeemvak.

Ontwerpconcepten

Vensterbeheer is een van de meest fundamentele gebruikersactiviteiten. Voor Windows Vista werden vensters vaak kleine standaardgrootten gegeven en in het midden van het scherm geplaatst. Deze aanpak werkt goed voor oudere enkelvoudige beeldschermen met lage resolutie, maar niet voor moderne videohardware.

Windows is ontworpen ter ondersteuning van moderne videohardware, die vaak wordt uitgevoerd op resoluties die aanzienlijk hoger zijn dan de minimaal ondersteunde schermresolutie en meerdere beeldschermen kan hebben. Doen:

  • Hiermee kunnen gebruikers volledig profiteren van hun geavanceerde hardware.
  • Vereist minder moeite van gebruikers om hun muis over grotere afstanden te verplaatsen.
  • Maakt vensterplaatsing voorspelbaarder en daardoor gemakkelijker te vinden.

De minimaal ondersteunde schermresolutie

De minimale effectieve schermresolutie ondersteund door Windows is 800x600 pixels. Dit betekent dat vensters met vaste grootte volledig moeten worden weergegeven op de minimale resolutie (terwijl de ruimte voor de taakbalk wordt gereserveerd), maar formaatbare vensters kunnen worden geoptimaliseerd voor een effectieve resolutie van 1024x768 pixels zolang ze functioneel zijn op de minimale resolutie.

Hoewel momenteel de meest voorkomende fysieke schermresoluties voor Windows-pc's 1024x768 pixels of hoger zijn, kunnen Windows:

  • Werk goed met alle moderne hardware, inclusief kleine notebook-pc's.
  • Ondersteuning voor hoge dpi-instellingen (dots per inch).
  • Ondersteuning voor grotere lettertypen voor toegankelijkheid.
  • Ondersteuning voor hardware die wereldwijd wordt gebruikt.

Voor het kiezen van de minimale resolutie die moet worden ondersteund, moet u het juiste evenwicht vinden. Het doel van een hogere resolutie zou resulteren in een suboptimale ervaring voor een aanzienlijk percentage moderne hardware, terwijl het doel van een lagere resolutie zou verhinderen dat ontwerpers optimaal profiteren van de beschikbare schermruimte.

Als u van mening bent dat uw doelgebruikers aanzienlijk hogere resoluties gebruiken dan het minimum van Windows, kunt u uw programma ontwerpen om optimaal te profiteren van de extra schermruimte door formaatbare vensters te gebruiken die goed worden geschaald.

Richtsnoeren

Algemeen

  • Ondersteuning voor de minimale effectieve Resolutie van Windows van 800x600 pixels. Voor kritieke gebruikersinterfaces (UIS's) die in de veilige modus moeten werken, ondersteunt u een effectieve resolutie van 640x480 pixels. Zorg ervoor dat u rekening houdt met de ruimte die door de taakbalk wordt gebruikt door 48 verticale relatieve pixels te reserveren voor vensters die worden weergegeven met de taakbalk.
  • Optimaliseer formaatbare vensterindelingen voor een effectieve resolutie van 1024x768 pixels. Wijzig automatisch de grootte van deze vensters voor resoluties op een lager scherm op een manier die nog steeds functioneel is.
  • Test uw vensters in 96 dpi (100 procent) bij 800x600 pixels, 120 dpi (125 procent) bij 1024x768 pixels en 144 dpi (150 procent) op 1200x900 pixels. Controleer op indelingsproblemen, zoals het knippen van besturingselementen, tekst en vensters, en het uitrekken van pictogrammen en bitmaps.
  • Voor programma's met aanraak- en mobiele gebruiksscenario's optimaliseert u voor 120 dpi. Schermen met hoge dpi zijn momenteel gangbaar op aanraak- en mobiele pc's.
  • Formaatbare vensters niet meer de grootte van het symbool in de rechterbenedenhoek moeten weergeven, omdat:
    • Alle zijden en randen van een venster kunnen worden aangepast, niet alleen in de rechterbenedenhoek.
    • Voor de glyph is een statusbalk vereist om weer te geven, maar veel formaatbare vensters bieden geen statusbalken.
    • De formaatbare vensterranden en het formaat van aanwijzers zijn effectiever bij het communiceren dat een venster kan worden aangepast dan het formaat van de glyph.

Besturingselementen voor titelbalk

Gebruik de titelbalkbesturingselementen als volgt:

  • Sluiten. Alle primaire en secundaire vensters met een standaardvensterkader moeten een knop Sluiten hebben op de titelbalk. Als u op Sluiten klikt, wordt het venster geannuleerd of gesloten.

schermafbeelding van het dialoogvenster zonder knop Sluiten

In dit voorbeeld heeft het dialoogvenster geen knop Sluiten op de titelbalk.

  • Minimaliseren. Alle primaire vensters en langlopende secundaire vensters (zoals voortgangsdialoogvensters) moeten een knop Minimaliseren hebben. Als u op Minimaliseren klikt, wordt het venster beperkt tot de taakbalkknop. Daarom vereisen vensters die kunnen worden geminimaliseerd een titelbalkpictogram.
  • Maximaliseren/terugzetten. Alle formaatbare vensters moeten een knop Maximaliseren/Terugzetten hebben. Als u op Maximaliseren klikt, wordt het venster in de grootste grootte weergegeven, wat voor de meeste vensters volledig scherm is; terwijl als u op Herstellen omlaag klikt, wordt het venster in de vorige grootte weergegeven. Sommige vensters profiteren echter niet van het gebruik van een volledig scherm, dus deze vensters moeten maximaliseren tot hun grootste nuttige grootte.

Venstergrootte

  • Kies een standaardvenstergrootte die geschikt is voor de inhoud ervan. Wees niet bang om grotere initiële venstergrootten te gebruiken als u de ruimte effectief kunt gebruiken.
  • Gebruik formaatbare vensters wanneer dit praktisch is om schuifbalken en afgekapte gegevens te voorkomen. Windows met dynamische inhoud en lijsten profiteren het meest van formaatbare vensters.
  • Voor tekstdocumenten kunt u een maximale regellengte van 65 tekens om de tekst gemakkelijk leesbaar te maken. (Tekens zijn letters, leestekens en spaties.)
  • Vensters met vaste grootte:
    • Moet volledig zichtbaar en aangepast zijn om binnen het werkgebied te passen.
  • Formaatbare vensters:
    • kan worden geoptimaliseerd voor hogere resoluties, maar de grootte naar behoefte op het tijdstip van de weergave naar de werkelijke schermresolutie.
    • Voor geleidelijk grotere venstergrootten moet geleidelijk meer informatie worden weergegeven. Zorg ervoor dat ten minste één venstergedeelte of besturingselement inhoud bevat die kan worden aangepast.
    • Vermijd standaard herstelde grootten die zijn gemaximaliseerd of bijna gemaximaliseerd. Kies in plaats daarvan een standaardgrootte die doorgaans het nuttigst is zonder volledig scherm te zijn. Stel dat gebruikers het venster maximaliseren in plaats van het formaat ervan te wijzigen om het volledig scherm te maken.
    • Stel een minimale venstergrootte in als er een grootte is waaronder de inhoud niet meer bruikbaar is. Voor besturingselementen die kunnen worden aangepast, stelt u de minimale grootte van het formaat van het formaat van het element in op de kleinste functionele grootte, zoals minimale functionele kolombreedten in lijstweergaven.
    • De presentatie moet worden gewijzigd als dit het geval is, zodat de inhoud op kleinere grootten kan worden gebruikt.

schermafbeelding van knoppen voor mediaspelers

In dit voorbeeld wordt de indeling van Windows Media Player gewijzigd wanneer het venster te klein wordt voor de standaardindeling.

Locatie van venster

  • Voor de volgende richtlijnen betekent "centreren" verticale plaatsing iets naar de bovenkant van de monitor, in plaats van precies in het midden te plaatsen. Plaats 45 procent van de ruimte tussen de bovenkant van de monitor/eigenaar en de venstertop en 55 procent tussen de onderkant van de monitor/eigenaar en het venster onderaan. Doe dit omdat het oog op natuurlijke wijze naar de bovenkant van het scherm wordt vooroordelen.

    afbeelding van venster dat iets boven midden

    "Centreren" betekent dat verticale plaatsing iets naar de bovenkant van de monitor wordt vertekend.

  • Als een venster contextueel is, geeft u het altijd weer in de buurt van het object waaruit het is gestart. Plaats het uit de weg zodat het bronobject niet wordt bedekt door het venster.

    • Als deze met de muis wordt weergegeven, wordt deze, indien mogelijk, omlaag en rechts verschoven.

    afbeelding van contextueel venster rechts van object

    Contextuele vensters weergeven in de buurt van het object waaruit het is gestart.

    afbeelding van het systeemvakvenster

    Windows die wordt gestart vanuit pictogrammen van het systeemvak, worden weergegeven in de buurt van het systeemvak.

  • Als deze wordt weergegeven met behulp van een pen, kunt u deze indien mogelijk zodanig plaatsen dat deze niet door de hand van de gebruiker wordt gedekt. Voor rechtshandige gebruikers, links weergeven; anders wordt aan de rechterkant weergegeven.

    afbeelding van contextueel venster links van object

    Wanneer u een pen gebruikt, worden ook contextuele vensters weergegeven, zodat deze niet worden gedekt door de hand van de gebruiker.

  • Ontwikkelaars: U kunt onderscheid maken tussen muis- en pen-gebeurtenissen met behulp van de GetMessageExtraInfo-API. U kunt de handigheid van de gebruiker bepalen met behulp van de SystemParametersInfo-API met SPI_GETMENUDROPALIGNMENT.

  • dialoogvensters voortgangsdialoogvensters uit de rechterbenedenhoek van de actieve monitor plaatsen.

    afbeelding van de voortgangsbalk in de rechterbenedenhoek

    Plaats de voortgangsdialoogvensters in de rechterbenedenhoek.

  • Als een venster niet is gerelateerd aan de huidige context of gebruikersactie, plaatst u het venster weg van de huidige locatie van de aanwijzer. Dit voorkomt onbedoelde interactie.

  • Als een venster een toepassing of document op het hoogste niveau is, trapsgewijs de oorsprong ervan altijd af in de linkerbovenhoek van de monitor. Als het actieve programma is gemaakt, gebruikt u de actieve monitor; gebruik anders de standaardmonitor.

    afbeelding van drie vensters trapsgewijs van linksboven

    Trapsgewijs toepassings- of documentvensters op het hoogste niveau uit de linkerbovenhoek van de monitor.

  • Als een venster een hulpprogramma op het hoogste niveau is, geeft u het altijd 'gecentreerd' weer in de monitor. Als het actieve programma is gemaakt, gebruikt u de actieve monitor; gebruik anders de standaardmonitor.

    afbeelding van het hulpprogrammavenster gecentreerd in de monitor

    Vensters op het hoogste niveau van het hulpprogramma centreren.

  • Als een venster een venster in eigendom is, geeft u het venster in eerste instantie 'gecentreerd' weer boven aan het venster van de eigenaar. Voor volgende weergave kunt u overwegen deze weer te geven op de laatste locatie (ten opzichte van het venster van de eigenaar) als dit waarschijnlijk handiger is.

    afbeelding van het venster eigendom gecentreerd over het venster eigenaar

    Vensters die in eerste instantie eigendom zijn in het midden van het venster van de eigenaar.

  • Voor modusloze dialoogvensters wordt altijd in eerste instantie boven op het venster van de eigenaar weergegeven, zodat deze gemakkelijk te vinden zijn. Als de gebruiker echter het eigenaarsvenster activeert, kan dit het modusloze dialoogvenster verdoezelen.

    afbeelding van het dialoogvenster Modusloos via het venster van de eigenaar

    Dialoogvensters zonder modus weergeven in eerste instantie boven op het venster van de eigenaar, zodat ze gemakkelijk te vinden zijn.

  • Pas indien nodig de eerste locatie aan zodat het hele venster zichtbaar is in de doelmonitor. Als een formaatbaar venster groter is dan de doelmonitor, vermindert u het formaat.

Venstervolgorde (Z-bestelling)

  • Plaats altijd vensters in eigendom boven op hun eigenaarsvenster. Plaats nooit vensters in eigendom onder hun eigenaarsvensters, omdat gebruikers ze waarschijnlijk niet zullen zien.
  • Respecteer de Z-orderselectie van gebruikers. Wanneer gebruikers een venster selecteren, brengt u alleen de vensters die aan dat exemplaar van het programma zijn gekoppeld (het venster plus alle vensters die eigenaar of eigendom zijn) boven aan de Z-bestelling. Wijzig de volgorde van andere vensters, zoals onafhankelijke exemplaren van hetzelfde programma, niet.

Vensteractivering

  • Respecteer de selectie van de vensterstatus van gebruikers. Als een bestaand venster aandacht nodig heeft, knippert u de taakbalkknop drie keer om de aandacht te trekken en het gemarkeerd te laten, maar doet u niets anders. Herstel of activeer het venster niet. Gebruik geen geluidseffecten. In plaats daarvan kunnen gebruikers het venster activeren wanneer ze klaar zijn.
    • Uitzondering: Als het venster niet op de taakbalk wordt weergegeven, brengt u het venster boven aan alle andere vensters en knippert u in plaats daarvan de titelbalk.
  • Het herstellen van een primair venster moet ook alle secundaire venstersherstellen, zelfs als deze secundaire vensters hun eigen taakbalkknop hebben. Plaats bij het herstellen secundaire vensters boven op het primaire venster.

Invoerfocus

  • Windows die wordt weergegeven door door de gebruiker geïnitieerde acties, moet de focus op invoer worden genomen, maar alleen als het venster onmiddellijk wordt weergegeven (binnen 5 seconden). Zodra het venster is weergegeven, kan het de invoerfocus eenmaal overnemen.
    • Als een venster langzaam wordt weergegeven (meer dan 5 seconden), zullen gebruikers waarschijnlijk een andere taak uitvoeren terwijl ze wachten. Focus op dit punt zou een ergernis zijn, vooral als u meer dan één keer klaar bent.
  • Windows die niet onmiddellijk worden weergegeven of weergegeven door een door het systeem geïnitieerde actie, mag de invoerfocus niet overnemen. In plaats daarvan kunt u deze weergeven zonder focus en gebruikers hen laten activeren wanneer ze klaar zijn.
    • Uitzondering: Referentiebeheer.

Volharding

  • Wanneer een venster opnieuw wordt weergegeven, kunt u overwegen het weer te geven in dezelfde status als voor het laatst geopend. Sla bij het sluiten de gebruikte monitor, de venstergrootte, de locatie en de status op (gemaximaliseerd versus herstellen). Wanneer u opnieuw wordt weergegeven, herstelt u de opgeslagen venstergrootte, locatie en status met behulp van de juiste monitor. Overweeg ook om deze kenmerken persistent te maken voor programma-exemplaren per gebruiker. Uitzonderingen:
    • Sla deze kenmerken niet op of zorg ervoor dat deze kenmerken behouden blijven voor vensters wanneer hun gebruik zodanig is dat gebruikers veel waarschijnlijker volledig opnieuw willen beginnen.
    • Voor programma's die waarschijnlijk worden gebruikt op Windows Tablet- en Touch Technology-computers, slaat u twee vensterstatussen op voor liggende en staande modi. Zie Ontwerpen voor verschillende weergavegroottenvoor meer informatie.
  • Als de huidige monitorconfiguratie het weergeven van een venster met de laatste status voorkomt:
    • Probeer het venster weer te geven met de laatste monitor.
    • Als het venster groter is dan de monitor, wijzigt u het formaat van het venster indien nodig.
    • Verplaats de locatie naar de linkerbovenhoek om zo nodig binnen de monitor te passen.
    • Als de bovenstaande stappen het probleem niet oplossen, gaat u terug naar de standaardrichtlijnen voor vensterplaatsing. Overweeg indien mogelijk de vorige grootte te herstellen.