Text color
文字顏色
系統文字顏色
使用system("color 背景色前景色")
※會改變輸出文字的顏色,以最後一次的設定顏色為準。※
黑、藍、綠、淺綠、紅、紫、黃、白、灰、淡藍、淡綠、淡淺綠、淡紅、淡紫、淡黃、亮白
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
白底黑字:system("color F0")
黑底紅字:system("color 04")
黑底綠字:system("color 02")
黑底藍字:system("color 01")
範例:
改變畫筆顏色
※適合多種文字顏色顯示
引入標頭檔 windows.h
#include<windows.h>
1.使用SetConsoleTextAttribute
語法
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
FOREGROUND_INTENSITY:高亮度 0x0008
2.以十六進位設定文字顏色
語法
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x000?)、? : 1~F
0x0001 = 淡藍色
0x0002 = 淡綠色
0x0003 = 淡青色
0x0004 = 紅色
0x0005 = 粉紅色
0x0006 = 黃色
0x0007 = 亮白色
0x0008 = 淡白色
0x0009 = 亮藍色
0x000A = 亮綠色
0x000B = 亮青色
0x000C = 亮紅色
0x000D = 亮粉紅色
0x000E = 亮黃色
0x000F = 亮白色
3.設定背景
語法
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x00?0)、? : 1~F
紅色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED)
綠色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN)
藍色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE)
黃色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN)
黃色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN)
粉色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE)
青色字:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE)
1.使用副程式 SetColor()
程式碼
#include<windows.h>
void SetColor(int color = 7)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole,color);
}
※使用for迴圈來呼叫,挑選自己喜歡的背景與文字顏色。※
2.使用 system("color 0a");
//
程式碼
#include <stdlib.h>
呼叫:
system("color 0F"); //黑底
system("color F0"); //白底
3.使用副程式 goto();
//改變游標位置
#include<windows.h>
void gotoxy(int xpos, int ypos)
{
COORD scrn;
HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
scrn.X = xpos; scrn.Y = ypos;
SetConsoleCursorPosition(hOuput,scrn);
}