About a week back I copied a function that allows me to change the text and background colours in the DOS window. I copied it from someone else's program when I was looking through some programs on the internet. Please understand I don't know how this works, at least not now, but maybe eventually I will. But it works, so there.
I modified it a bit to give me a list of colours with their numbers. I use it for reference to know which number is which colour. Here it is. Oh and I do everything in Code Blocks (It's a free IDE compiler) www.codeblocks.org. Started with Dev C++ but it crashed a lot, Code Blocks hasn't given me any hassles yet. I save the files with the .cpp extension. Now here is the code for "textcol.cpp":
//Please note the first line of output will be blank because both the text and background is
//BLACK so it looks like a blank line.
#include <windows.h>
#include <stdio.h>
void SetColorAndBackground(int ForgC, int BackC);
int main()
{
int x,y;
y=176;
for(x=0;x<16;)
{
SetColorAndBackground(x,0);
printf("%3i. Colour %c\n",x,y);
x++;
}
}
void SetColorAndBackground(int ForgC, int BackC)
{
WORD wColor=((BackC & 0x0F)<< 4)+(ForgC & 0x0F);;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
return;
}
SetColorAndBackground(x,y);
Where x is the text colour and y is the background colour (get the numbers from "Textcol.cpp"). Any text printed after that line will have the colour attributes you set in x & y.
The original code can be found here:
http://codeincodeblock.blogspot.in/2011/03/text-background-color-of-console.html
I modified it a bit to give me a list of colours with their numbers. I use it for reference to know which number is which colour. Here it is. Oh and I do everything in Code Blocks (It's a free IDE compiler) www.codeblocks.org. Started with Dev C++ but it crashed a lot, Code Blocks hasn't given me any hassles yet. I save the files with the .cpp extension. Now here is the code for "textcol.cpp":
//Please note the first line of output will be blank because both the text and background is
//BLACK so it looks like a blank line.
#include <windows.h>
#include <stdio.h>
void SetColorAndBackground(int ForgC, int BackC);
int main()
{
int x,y;
y=176;
for(x=0;x<16;)
{
SetColorAndBackground(x,0);
printf("%3i. Colour %c\n",x,y);
x++;
}
}
void SetColorAndBackground(int ForgC, int BackC)
{
WORD wColor=((BackC & 0x0F)<< 4)+(ForgC & 0x0F);;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
return;
}
_______________________________________________________________________
If we include the following in our code:
#include <windows.h>
void SetColorAndBackground(int ForgC, int BackC);
void SetColorAndBackground(int ForgC, int BackC)
{
WORD wColor=((BackC & 0x0F)<< 4)+(ForgC & 0x0F);;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
return;
}
{
WORD wColor=((BackC & 0x0F)<< 4)+(ForgC & 0x0F);;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
return;
}
we can say:
SetColorAndBackground(x,y);
Where x is the text colour and y is the background colour (get the numbers from "Textcol.cpp"). Any text printed after that line will have the colour attributes you set in x & y.
The original code can be found here:
http://codeincodeblock.blogspot.in/2011/03/text-background-color-of-console.html
No comments:
Post a Comment