View Full Version : [C]Avere una schermata verde e non nera..
come posso posizionare il cursore a date coordinate x,y,o cambiare colore della scrittura,ecc,il problema é ke uso xp e n ntrovo il config.sys in cui installare il file ansa.sys per gli effetti grafici di C. come posso fare?? :muro: :muro: :muro:
come posso posizionare il cursore a date coordinate x,y,o cambiare colore della scrittura,ecc,il problema é ke uso xp e n ntrovo il config.sys in cui installare il file ansa.sys per gli effetti grafici di C. come posso fare?? :muro: :muro: :muro:
Io per curiosità ho provato a configurare il file ansi.sys sul mio Win2000. Nonostante l'abbia specificato nel file config.nt, sembra ignorarlo del tutto. Quindi o ho sbagliato io a configurarlo o proprio non funziona. Purtroppo queste cose come l'ansi.sys sono cose un po' del ... passato.
Se la tua intenzione è quella di sviluppare una applicazione Win32 console, puoi usare le API Win32 di gestione della console. Guarda questo semplice esempio:
#define STRICT
#include <windows.h>
#include <stdio.h>
int main (int argc, char *argv[])
{
HANDLE hStdOut;
COORD coord;
hStdOut = GetStdHandle (STD_OUTPUT_HANDLE);
/* Imposta Giallo alta intensità su sfondo Rosso */
SetConsoleTextAttribute (hStdOut, BACKGROUND_RED | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
coord.X = 35;
coord.Y = 15;
SetConsoleCursorPosition (hStdOut, coord);
printf ("PROVA\n");
/* Rimette a posto i colori di default */
SetConsoleTextAttribute (hStdOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
return 0;
}
grazie per la risposta!comunque, mi sapresti consigliare un tutorial per questi comandi? perché vorrei riuscire ad impostare lo sfondo, e poi anche la possibilità di evidenziare(in un ipotetico menu) la scelta desiderata.grazie
grazie per la risposta!comunque, mi sapresti consigliare un tutorial per questi comandi?
Se per comandi intendi le varie API Win32 per la gestione della console, la documentazione ufficiale la trovi su MSDN:
-> Character-Mode Applications (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/character_mode_applications.asp)
perché vorrei riuscire ad impostare lo sfondo, e poi anche la possibilità di evidenziare(in un ipotetico menu) la scelta desiderata.grazie
Per lo sfondo non è molto difficile! Prova questo codice:
#define STRICT
#include <windows.h>
#include <stdio.h>
BOOL ClearConsole (HANDLE hStdOut, WORD wAttributes)
{
COORD coord = { 0, 0 };
DWORD dwScreenSize, dwWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
if (GetConsoleScreenBufferInfo (hStdOut, &csbi) == FALSE)
return FALSE;
dwScreenSize = csbi.dwSize.X * csbi.dwSize.Y;
if (FillConsoleOutputCharacter (hStdOut, (TCHAR) ' ', dwScreenSize, coord, &dwWritten) == FALSE)
return FALSE;
if (FillConsoleOutputAttribute (hStdOut, wAttributes, dwScreenSize, coord, &dwWritten) == FALSE)
return FALSE;
if (SetConsoleCursorPosition (hStdOut, coord) == FALSE)
return FALSE;
if (SetConsoleTextAttribute (hStdOut, wAttributes) == FALSE)
return FALSE;
return TRUE;
}
int main (int argc, char *argv[])
{
HANDLE hStdOut;
hStdOut = GetStdHandle (STD_OUTPUT_HANDLE);
ClearConsole (hStdOut, BACKGROUND_GREEN | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
printf ("Bianco su Verde, premi un tasto\n");
getchar ();
ClearConsole (hStdOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
return 0;
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.