View Single Post
Old 24-01-2006, 11:51   #1
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
[C++] Classi per gestione console in Win32

Vorrei sviluppare un set di classi C++ per la gestione della console in Win32. Mi interessa farlo sia un po' per ... sfizio e poi perché volevo sviluppare alcune applicazioni Win32 in modalità console.
Più che a livello di programmazione, ho alcuni dubbi per quanto riguarda il "design" delle classi.
Premetto che vorrei gestire praticamente tutto della console, compresi gli screen buffer.

Prendiamo i seguenti punti:
- Uno screen buffer è una area rettangolare composta da caratteri/attributi ed ha una serie di proprietà quali dimensione, posizione finestra, stato del cursore, ecc...
- Si possono creare N screen buffer (con la funzione CreateConsoleScreenBuffer che restituisce un handle apposito). Ogni buffer è indipendente ed ha le sue proprietà come specificato nel punto prima.
- Una console ha uno screen buffer predefinito (l'handle ottenuto chiamando GetStdHandle (STD_OUTPUT_HANDLE) ) e può avere 1 solo screen buffer attivo per volta (impostabile con la funzione SetConsoleActiveScreenBuffer).

Visto che ci possono essere N screen buffer e che una console per default ha (direi anche che "è") uno screen buffer pensavo di fare così: creare una classe base ConsoleBuffer e poi derivare da questa una nuova classe Console.
Nella classe ConsoleBuffer ci metto tutti i metodi che gestiscono/operano su uno screen buffer (impostazione attributi, scrittura, ecc...). Nella classe Console ci metto il resto (gestione dell'input, ecc...).

Secondo voi è giusto? Vi "quadra"??? Spero di non aver detto fesserie!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso