📄 colorx.cpp
字号:
#include <windows.h>
#include <iostream>
using namespace std;
void test1(HANDLE hOut);
void test2(HANDLE hOut);
void clrscr();
void gotoxy(int x, int y);
void setrgb(int color);
void clrscr(HANDLE hOut,int color);
void gotoxy(HANDLE hOut,int x, int y);
void setrgb(HANDLE hOut,int color);
int main()
{
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTitle( "Color test ");
int i;
for(i=1; i<53; i++)
cout<<"Hello Color Test!\n\n\n";
clrscr(hOut,0);
test1( hOut );
test2( hOut );
Sleep(1680);
clrscr(hOut,3);
for(i=1; i<24; i++)
{
gotoxy(hOut, i,i);
setrgb(hOut, i % 16);
cout << char(i+'A'-1) <<" 计算机";
}
cout << "\n Input a Integer !\n";
////////////////////////
cin >>i;
return 0;
}
void test1(HANDLE hOut)
{
SetConsoleTextAttribute(hOut,
FOREGROUND_RED);
cout << "Red " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_RED |
FOREGROUND_INTENSITY);
cout << "Red" << endl;
SetConsoleTextAttribute(hOut,
FOREGROUND_GREEN);
cout << "Green " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_GREEN |
FOREGROUND_INTENSITY);
cout << "Green" << endl;
SetConsoleTextAttribute(hOut,
FOREGROUND_BLUE);
cout << "Blue " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_BLUE |
FOREGROUND_INTENSITY);
cout << "Blue" << endl;
SetConsoleTextAttribute(hOut,
FOREGROUND_RED |
FOREGROUND_GREEN);
cout << "Yellow " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_RED |
FOREGROUND_GREEN |
FOREGROUND_INTENSITY);
cout << "Yellow" << endl;
SetConsoleTextAttribute(hOut,
FOREGROUND_GREEN |
FOREGROUND_BLUE);
cout << "Cyan " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_GREEN |
FOREGROUND_BLUE |
FOREGROUND_INTENSITY);
cout << "Cyan" << endl;
SetConsoleTextAttribute(hOut,
FOREGROUND_BLUE |
FOREGROUND_RED);
cout << "Magenta " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_BLUE |
FOREGROUND_RED |
FOREGROUND_INTENSITY);
cout << "Magenta" << endl;
SetConsoleTextAttribute(hOut,
FOREGROUND_RED |
FOREGROUND_GREEN |
FOREGROUND_BLUE);
cout << "White " << flush;
SetConsoleTextAttribute(hOut,
FOREGROUND_RED |
FOREGROUND_GREEN |
FOREGROUND_BLUE |
FOREGROUND_INTENSITY);
cout << "White" << endl;
}
void test2(HANDLE hOut)
{
SetConsoleTextAttribute(hOut,
BACKGROUND_RED);
cout << "Red " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_RED |
BACKGROUND_INTENSITY);
cout << "Red " << endl;
SetConsoleTextAttribute(hOut,
BACKGROUND_GREEN);
cout << "Green " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_GREEN |
BACKGROUND_INTENSITY);
cout << "Green " << endl;
SetConsoleTextAttribute(hOut,
BACKGROUND_BLUE);
cout << "Blue " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_BLUE |
BACKGROUND_INTENSITY);
cout << "Blue " << endl;
SetConsoleTextAttribute(hOut,
BACKGROUND_RED |
BACKGROUND_GREEN);
cout << "Yellow " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_RED |
BACKGROUND_GREEN |
BACKGROUND_INTENSITY);
cout << "Yellow " << endl;
SetConsoleTextAttribute(hOut,
BACKGROUND_GREEN |
BACKGROUND_BLUE);
cout << "Cyan " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_GREEN |
BACKGROUND_BLUE |
BACKGROUND_INTENSITY);
cout << "Cyan " << endl;
SetConsoleTextAttribute(hOut,
BACKGROUND_BLUE |
BACKGROUND_RED);
cout << "Magenta " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_BLUE |
BACKGROUND_RED |
BACKGROUND_INTENSITY);
cout << "Magenta " << endl;
SetConsoleTextAttribute(hOut,
BACKGROUND_RED |
BACKGROUND_GREEN |
BACKGROUND_BLUE);
cout << "White " << flush;
SetConsoleTextAttribute(hOut,
BACKGROUND_RED |
BACKGROUND_GREEN |
BACKGROUND_BLUE |
BACKGROUND_INTENSITY);
cout << "White " << endl;
}
//
// Clears the screen
//
void clrscr()
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsole, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, TEXT(' '),
dwConSize,
coordScreen,
&cCharsWritten);
GetConsoleScreenBufferInfo(hConsole, &csbi);
FillConsoleOutputAttribute(hConsole,
csbi.wAttributes,
dwConSize,
coordScreen,
&cCharsWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}
void clrscr(HANDLE hOut , int color)
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
setrgb( hOut, color %16 );
GetConsoleScreenBufferInfo( hOut, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter( hOut, TEXT(' '),
dwConSize,
coordScreen,
&cCharsWritten);
GetConsoleScreenBufferInfo( hOut, &csbi);
FillConsoleOutputAttribute( hOut,
csbi.wAttributes,
dwConSize,
coordScreen,
&cCharsWritten);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -