Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
En este documento se describe la funcionalidad de la plataforma de consola que ya no forma parte de nuestra hoja de ruta del ecosistema. No se recomienda usar este contenido en nuevos productos, pero seguiremos admitiendo los usos existentes para el futuro indefinido. Nuestra solución moderna preferida se centra en secuencias de terminal virtual para lograr la máxima compatibilidad en escenarios multiplataforma. Puede encontrar más información sobre esta decisión de diseño en nuestro documento de consola clásica frente a terminal virtual .
La ventana de la consola muestra una parte del búfer de pantalla activo. Cada búfer de pantalla mantiene su propio rectángulo de ventana actual que especifica las coordenadas de las celdas de carácter superior izquierda e inferior derecha que se van a mostrar en la ventana de la consola. Para determinar el rectángulo de ventana actual de un búfer de pantalla, use GetConsoleScreenBufferInfo. Cuando se crea un búfer de pantalla, la esquina superior izquierda de su ventana se encuentra en la esquina superior izquierda del búfer de pantalla de la consola en (0,0).
El rectángulo de ventana puede cambiar para mostrar diferentes partes del búfer de pantalla de la consola. El rectángulo de ventana de un búfer de pantalla puede cambiar en las situaciones siguientes:
Cuando se llama a SetConsoleWindowInfo para especificar un rectángulo de ventana nuevo, desplaza la vista del búfer de pantalla de la consola cambiando la posición del rectángulo de ventana sin cambiar el tamaño de la ventana. Para obtener ejemplos de desplazamiento del contenido de la ventana, vea Desplazarse por la ventana de un búfer de pantalla.
Cuando se usa la función WriteFile para escribir en un búfer de pantalla con ajuste en modo de salida de fin de línea (EOL) habilitado, el rectángulo de ventana cambia automáticamente, por lo que el cursor siempre se muestra.
Cuando la función SetConsoleCursorPosition especifica una nueva posición del cursor que está fuera de los límites del rectángulo de ventana actual, el rectángulo de la ventana cambia automáticamente para mostrar el cursor.
Cuando el usuario cambia el tamaño de la ventana de consola o usa las barras de desplazamiento de la ventana, el rectángulo de la ventana del búfer de pantalla activo puede cambiar. Este cambio no se notifica como un evento de cambio de tamaño de ventana en el búfer de entrada.
En cada una de estas situaciones, el rectángulo de ventana cambia para mostrar una parte diferente del búfer de pantalla de la consola, pero el contenido del búfer de pantalla de la consola permanece en la misma posición. Las situaciones siguientes pueden hacer que el contenido del búfer de pantalla de la consola cambie:
- Cuando se llama a la función ScrollConsoleScreenBuffer , se copia un bloque rectangular de una parte de un búfer de pantalla a otro.
- Cuando se usa WriteFile para escribir en un búfer de pantalla con ajuste en modo de salida EOL habilitado, el búfer de pantalla de la consola se desplaza automáticamente cuando se encuentra el final del búfer de pantalla de la consola. Este desplazamiento descarta la fila superior del búfer de pantalla de la consola.
ScrollConsoleScreenBuffer especifica el rectángulo de búfer de pantalla de consola que se mueve y las nuevas coordenadas superior izquierda a las que se copia el rectángulo. Esta función puede desplazar una parte o todo el contenido del búfer de pantalla de la consola.
En la ilustración se muestra una operación ScrollConsoleScreenBuffer que desplaza todo el contenido del búfer de pantalla de la consola hacia arriba por varias filas. El contenido de las filas superiores se descarta y las filas inferiores se rellenan con un carácter y color especificados.
Los efectos de ScrollConsoleScreenBuffer se pueden limitar especificando un rectángulo de recorte opcional para que el contenido del búfer de pantalla de la consola fuera del rectángulo de recorte no se cambie. El efecto del recorte es crear una subwindow (el rectángulo de recorte) cuyo contenido se desplaza sin afectar al resto del búfer de pantalla de la consola. Para obtener un ejemplo que usa ScrollConsoleScreenBuffer, vea Scrolling a Screen Buffer's Contents (Desplazamiento del contenido de un búfer de pantalla).