Colores en una aplicación cónsola

3135 vistas

Después de recuperar el handle de una cónsola, podemos poner colores!! Para ello, vamos a usar el API SetConsoleTextAttribute.



delphi
  1. program Test1Consola;
  2. {$APPTYPE CONSOLE}
  3. uses sysutils, Windows;
  4.  
  5. var
  6. ConsoleHandle: THandle;
  7. ConsoleScreenBufferInfo: _CONSOLE_SCREEN_BUFFER_INFO;
  8. begin
  9. ConsoleHandle := GetStdHandle(STD_OUTPUT_HANDLE);
  10. GetConsoleScreenBufferInfo(ConsoleHandle,ConsoleScreenBufferInfo);
  11. // Añadir el texto en azul :
  12. SetConsoleTextAttribute(ConsoleHandle,FOREGROUND_BLUE);
  13. WriteLn('Este texto es azul !!!');
  14.  
  15. // Añadir el texto en amarillo (con luminosidad + rojo + verde = amarillo) :
  16. SetConsoleTextAttribute(ConsoleHandle,FOREGROUND_GREEN
  17.   or FOREGROUND_RED or FOREGROUND_INTENSITY);
  18. ReadLn;
  19.   // restablecer los colores originales
  20. SetConsoleTextAttribute(ConsoleHandle,ConsoleScreenBufferInfo.wAttributes);
  21. end.