Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
In dit document wordt de consoleplatformfunctionaliteit beschreven die niet langer deel uitmaakt van onze roadmap voor het ecosysteem. We raden u niet aan deze inhoud in nieuwe producten te gebruiken, maar we blijven bestaande gebruiksrechten voor onbepaalde tijd ondersteunen. Onze voorkeurs moderne oplossing richt zich op virtuele terminalreeksen voor maximale compatibiliteit in platformoverschrijdende scenario's. Meer informatie over deze ontwerpbeslissing vindt u in ons klassieke console- versus virtuele terminaldocument .
In het consolevenster wordt een deel van de actieve schermbuffer weergegeven. Elke schermbuffer behoudt een eigen huidige vensterrechthoek waarmee de coördinaten van de cellen linksboven en rechtsonder worden weergegeven in het consolevenster. Gebruik GetConsoleScreenBufferInfo om de huidige rechthoek van het venster van een schermbuffer te bepalen. Wanneer er een schermbuffer wordt gemaakt, bevindt de linkerbovenhoek van het venster zich in de linkerbovenhoek van de consoleschermbuffer op (0,0).
De rechthoek van het venster kan worden gewijzigd om verschillende onderdelen van de consoleschermbuffer weer te geven. De vensterrechthoek van een schermbuffer kan in de volgende situaties veranderen:
Wanneer SetConsoleWindowInfo wordt aangeroepen om een nieuwe vensterrechthoek op te geven, schuift het de weergave van de consoleschermbuffer door de positie van de vensterrechthoek te wijzigen zonder de grootte van het venster te wijzigen. Zie Scrolling a Screen Buffer's Window voor voorbeelden van het schuiven van de inhoud van het venster.
Wanneer u de functie WriteFile gebruikt om naar een schermbuffer te schrijven, waarbij de uitvoermodus end-of-line (EOL) is ingeschakeld, wordt de rechthoek van het venster automatisch verplaatst, zodat de cursor altijd wordt weergegeven.
Wanneer de functie SetConsoleCursorPosition een nieuwe cursorpositie opgeeft die zich buiten de grenzen van de huidige rechthoek van het venster bevindt, wordt de rechthoek van het venster automatisch verplaatst om de cursor weer te geven.
Wanneer de gebruiker de grootte van het consolevenster wijzigt of de schuifbalken van het venster gebruikt, kan de rechthoek van het venster van de actieve schermbuffer worden gewijzigd. Deze wijziging wordt niet gerapporteerd als een gebeurtenis voor het wijzigen van het formaat van vensters in de invoerbuffer.
In elk van deze situaties verschuift de rechthoek van het venster om een ander deel van de consoleschermbuffer weer te geven, maar de inhoud van de consoleschermbuffer blijft op dezelfde positie. De volgende situaties kunnen ertoe leiden dat de inhoud van de consoleschermbuffer wordt verplaatst:
- Wanneer de functie ScrollConsoleScreenBuffer wordt aangeroepen, wordt een rechthoekig blok gekopieerd van het ene deel van een schermbuffer naar het andere.
- Wanneer u WriteFile gebruikt om naar een schermbuffer te schrijven met terugloop in de EOL-uitvoermodus ingeschakeld, schuift de inhoud van de consoleschermbuffer automatisch wanneer het einde van de consoleschermbuffer wordt aangetroffen. Door te schuiven wordt de bovenste rij van de consoleschermbuffer verwijderd.
ScrollConsoleScreenBuffer geeft de consoleschermbufferrechthoek op die wordt verplaatst en de nieuwe coördinaten linksboven waarnaar de rechthoek wordt gekopieerd. Met deze functie kunt u een gedeelte of de volledige inhoud van de consoleschermbuffer schuiven.
In de afbeelding ziet u een ScrollConsoleScreenBuffer-bewerking die de volledige inhoud van de consoleschermbuffer door verschillende rijen omhoog schuift. De inhoud van de bovenste rijen wordt verwijderd en de onderste rijen worden gevuld met een opgegeven teken en kleur.
De effecten van ScrollConsoleScreenBuffer kunnen worden beperkt door een optionele rechthoek voor knipsels op te geven, zodat de inhoud van de consoleschermbuffer buiten de rechthoek voor het knippen ongewijzigd blijft. Het effect van de knipsel is het maken van een subwindow (de rechthoek voor knippen) waarvan de inhoud wordt gescrold zonder dat dit van invloed is op de rest van de consoleschermbuffer. Zie Scrolling a Screen Buffer's Contents (Inhoud van een schermbuffer) voor een voorbeeld dat gebruikmaakt van ScrollConsoleScreenBuffer.