Avatar billede spiritusanta Nybegynder
10. februar 2004 - 17:52 Der er 10 kommentarer og
1 løsning

Baggrunds farve i consollen

Jeg vil gerne have den velkendte sorte baggrundsfarve i consollen ændret, hvordan kan det gøres?

Har kigget lidt på eksemplet her, men den viser kun hvordan man ændrer tekstfarven.

http://www.eksperten.dk/spm/378026

Mvh Jonas
Avatar billede arne_v Ekspert
10. februar 2004 - 19:17 #1
Er det ikke bare at erstatte/kombinere FOREGROUND_ med BACKGROUND_ ?
Avatar billede bertelbrander Novice
10. februar 2004 - 20:15 #2
Er det en løsning med SetConsoleTextAttribute() eller med ASCII koder du leder efter?
Avatar billede spiritusanta Nybegynder
10. februar 2004 - 21:05 #3
Det skal bare være en simpel kode, så jeg kan ændre på text og baggrunds farven.
Avatar billede arne_v Ekspert
10. februar 2004 - 21:50 #4
Tilrettet eksempel:

#include <windows.h>
#include <iostream>

int main(void)
{
  HANDLE con = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleTextAttribute(con, FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_RED);
  std::cout << "Green on red\n";
  SetConsoleTextAttribute(con, FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_BLUE);
  std::cout << "Red on blue\n";
  SetConsoleTextAttribute(con, FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_GREEN);
  std::cout << "Blue on green\n";
  SetConsoleTextAttribute(con, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
  return 0;
}
Avatar billede spiritusanta Nybegynder
10. februar 2004 - 22:04 #5
virker ikke :(
Men har leget lidt med koden og kommet frem til en anden kode, der virker :)

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xc9);
clrscr();

hvor 0xc9 er farven
c=tekstfarve
9=baggrundsfarve

info:
start->cmd
skriv: color \?

Men tak for hjælpen :)
Avatar billede arne_v Ekspert
10. februar 2004 - 22:13 #6
Det virker udmærket på min PC ??
Avatar billede arne_v Ekspert
10. februar 2004 - 22:16 #7
0xC9 er iøvrigt det samme som:

FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_INTENSITY
Avatar billede bertelbrander Novice
11. februar 2004 - 00:31 #8
Forskellen er vist clrscr(), der er en ikke standard funktion der gør at hele konsol vinduet får den baggrunds farve der er sat med SetConsoleTextAttribute().
Avatar billede antialize Nybegynder
13. februar 2004 - 19:37 #9
Du kan ændre baggrundsfrave med asciikoder lige som tekstfarver

http://www.freeos.com/guides/lsst/misc.htm#colorfunandmore
Avatar billede spiritusanta Nybegynder
13. februar 2004 - 19:56 #10
Må nok heller lukke spørgsmålet, har jo besvaret det selv.
Men man kan finde en complet liste over farvekoderne, under start->kør->cmd og skrive color \?
Avatar billede arne_v Ekspert
13. februar 2004 - 19:58 #11
Det korrekte er at bruge de symbolske konstanter !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester