Share via


Dimensioni buffer finestra e schermo

Le dimensioni di un buffer dello schermo sono espresse in termini di griglia di coordinate in base alle celle di caratteri. La larghezza è il numero di celle di caratteri in ogni riga e l'altezza è il numero di righe. Associato a ogni buffer dello schermo è una finestra che determina le dimensioni e la posizione della parte rettangolare del buffer dello schermo della console visualizzata nella finestra della console. La finestra di un buffer dello schermo viene definita specificando le coordinate della cella di caratteri delle celle in alto a sinistra e in basso a destra del rettangolo della finestra.

Nota

Nel mondo delle sequenze del terminale virtuale, le dimensioni della finestra e le dimensioni del buffer dello schermo sono fisse allo stesso valore. Il terminale gestisce qualsiasi area di scorrimento che sarebbe l'equivalente di una console con dimensioni del buffer dello schermo superiori alle dimensioni della finestra. Il contenuto appartiene al terminale e in genere non fa più parte dell'area indirizzabile. Per altre informazioni, vedere il confronto tra le funzioni della console classica e le sequenze di terminale virtuale.

Un buffer dello schermo può essere di qualsiasi dimensione, limitato solo dalla memoria disponibile. Le dimensioni della finestra del buffer dello schermo non possono superare le dimensioni corrispondenti del buffer dello schermo della console o la finestra massima che può essere adattata sullo schermo in base alle dimensioni correnti del carattere (controllate esclusivamente dall'utente).

La funzione GetConsoleScreenBufferInfo restituisce le informazioni seguenti su un buffer dello schermo e sulla relativa finestra:

  • Dimensioni correnti del buffer dello schermo della console
  • Posizione corrente della finestra
  • Dimensioni massime della finestra in base alle dimensioni correnti del buffer dello schermo, alle dimensioni correnti del carattere e alle dimensioni dello schermo

La funzione GetLargestConsoleWindowSize restituisce le dimensioni massime della finestra di una console in base al tipo di carattere e alle dimensioni dello schermo correnti. Questa dimensione differisce dalle dimensioni massime della finestra restituite da GetConsoleScreenBufferInfo in quanto le dimensioni del buffer dello schermo della console vengono ignorate.

Per modificare le dimensioni di un buffer dello schermo, usare la funzione SetConsoleScreenBufferSize. Questa funzione ha esito negativo se una delle dimensioni specificate è minore della dimensione corrispondente della finestra della console.

Per modificare le dimensioni o la posizione della finestra del buffer dello schermo, usare la funzione SetConsoleWindowInfo. Questa funzione ha esito negativo se le coordinate dell'angolo della finestra specificate superano i limiti del buffer dello schermo della console o dello schermo. La modifica delle dimensioni della finestra del buffer dello schermo attivo cambia le dimensioni della finestra della console visualizzata sullo schermo.

Un processo può modificare la modalità di input della console per abilitare l'input della finestra in modo che il processo sia in grado di ricevere input quando l'utente modifica le dimensioni del buffer dello schermo della console. Se un'applicazione abilita l'input della finestra, può usare GetConsoleScreenBufferInfo per recuperare le dimensioni del buffer della finestra e dello schermo all'avvio. Queste informazioni possono quindi essere usate per determinare il modo in cui i dati vengono visualizzati nella finestra. Se l'utente modifica le dimensioni del buffer dello schermo della console, l'applicazione può rispondere modificando la modalità di visualizzazione dei dati. Ad esempio, un'applicazione può regolare la modalità di ritorno a capo del testo alla fine della riga se cambia il numero di caratteri per riga. Se un'applicazione non abilita l'input della finestra, deve usare le dimensioni ereditate della finestra e del buffer dello schermo oppure impostarle sulle dimensioni desiderate durante l'avvio e ripristinare le dimensioni ereditate all'uscita. Per altre informazioni sulla modalità di input della finestra, vedere Modalità console di basso livello.