Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Ce document décrit les fonctionnalités de plateforme console qui ne font plus partie de notre feuille de route de l’écosystème. Nous vous déconseillons d’utiliser ce contenu dans de nouveaux produits, mais nous continuerons à prendre en charge les utilisations existantes pour l’avenir indéfini. Notre solution moderne préférée se concentre sur les séquences de terminal virtuel pour une compatibilité maximale dans les scénarios multiplateformes. Vous trouverez plus d’informations sur cette décision de conception dans notre document de console classique et de terminal virtuel .
La fenêtre de console affiche une partie de la mémoire tampon d’écran active. Chaque mémoire tampon d’écran conserve son propre rectangle de fenêtre actuel qui spécifie les coordonnées des cellules du caractère supérieur gauche et inférieur droit à afficher dans la fenêtre de console. Pour déterminer le rectangle de fenêtre actuel d’une mémoire tampon d’écran, utilisez GetConsoleScreenBufferInfo. Lorsqu’une mémoire tampon d’écran est créée, le coin supérieur gauche de sa fenêtre se trouve en haut à gauche de la mémoire tampon de l’écran de la console à (0,0).
Le rectangle de fenêtre peut changer pour afficher différentes parties de la mémoire tampon d’écran de la console. Le rectangle de fenêtre d’une mémoire tampon d’écran peut changer dans les situations suivantes :
Lorsque SetConsoleWindowInfo est appelé pour spécifier un nouveau rectangle de fenêtre, il fait défiler l’affichage de la mémoire tampon de l’écran de la console en modifiant la position du rectangle de fenêtre sans modifier la taille de la fenêtre. Pour obtenir des exemples de défilement du contenu de la fenêtre, voir Faire défiler la fenêtre d’une mémoire tampon d’écran.
Lorsque vous utilisez la fonction WriteFile pour écrire dans une mémoire tampon d’écran avec le mode de sortie de fin de ligne (EOL) activé, le rectangle de fenêtre se déplace automatiquement, de sorte que le curseur est toujours affiché.
Lorsque la fonction SetConsoleCursorPosition spécifie une nouvelle position de curseur qui se trouve en dehors des limites du rectangle de fenêtre actuel, le rectangle de la fenêtre se déplace automatiquement pour afficher le curseur.
Lorsque l’utilisateur modifie la taille de la fenêtre de console ou utilise les barres de défilement de la fenêtre, le rectangle de fenêtre de la mémoire tampon d’écran active peut changer. Cette modification n’est pas signalée en tant qu’événement de redimensionnement de fenêtre dans la mémoire tampon d’entrée.
Dans chacune de ces situations, le rectangle de la fenêtre se déplace pour afficher une partie différente de la mémoire tampon d’écran de la console, mais le contenu de la mémoire tampon de l’écran de la console reste dans la même position. Les situations suivantes peuvent entraîner le déplacement du contenu de la mémoire tampon de l’écran de la console :
- Lorsque la fonction ScrollConsoleScreenBuffer est appelée, un bloc rectangulaire est copié d’une partie d’une mémoire tampon d’écran vers une autre.
- Lorsque vous utilisez WriteFile pour écrire dans une mémoire tampon d’écran avec le mode de sortie EOL activé, le contenu de la mémoire tampon de l’écran de la console défile automatiquement lorsque la fin de la mémoire tampon d’écran de la console est rencontrée. Ce défilement ignore la ligne supérieure de la mémoire tampon de l’écran de la console.
ScrollConsoleScreenBuffer spécifie le rectangle de mémoire tampon de l’écran de la console déplacé et les nouvelles coordonnées supérieure gauche vers lesquelles le rectangle est copié. Cette fonction peut faire défiler une partie ou l’intégralité du contenu de la mémoire tampon de l’écran de la console.
L’illustration montre une opération ScrollConsoleScreenBuffer qui fait défiler l’intégralité du contenu de la mémoire tampon de l’écran de console vers le haut par plusieurs lignes. Le contenu des lignes supérieures est ignoré et les lignes inférieures sont remplies d’un caractère et d’une couleur spécifiés.
Les effets de ScrollConsoleScreenBuffer peuvent être limités en spécifiant un rectangle de découpage facultatif afin que le contenu de la mémoire tampon de l’écran de la console en dehors du rectangle de découpage soit inchangé. L’effet du découpage consiste à créer un sous-menu (rectangle de découpage) dont le contenu est défilement sans affecter le reste de la mémoire tampon de l’écran de la console. Pour obtenir un exemple qui utilise ScrollConsoleScreenBuffer, consultez Défilement du contenu d’une mémoire tampon d’écran.