SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (WORD)생상 인덱스);
enum _Attribute
{
BLACK = 0, // 검정
DARK_BLUE, // 어두운 파랑
DARK_GREEN, // 어두운 초록
DARK_SKY_BLUE, // 어두운 하늘
DARK_RED, // 어두운 빨강
DARK_VOILET, // 어두운 보라
DARK_YELLOW, // 어두운 노랑
GRAY, // 회색
DARK_GRAY, // 어두운 회색
BLUE, // 파랑
GREEN, // 초록
SKY_BLUE, // 하늘
RED, // 빨강
VIOLET, // 보라
YELLOW, // 노랑
WHITE, // 흰색
COUNT,
};
위 인덱스값은 인위적인 것이다.
windows.h 헤더를 인크루드 해야 되고
생상을 지정하면 그이후에 출력 되는 모든 텍스트는 지정된 색상으로 나온다.
그러므로 특정 텍스트만 색상을 주고 싶다면
CONSOLE_SCREEN_BUFFER_INFO kInfo;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &kInfo);
를 사용하여 kInfo.wAttributes 이값으로 다시 Set 해주면 된다.
위 인덱스값외에 더 있다. 일정한 반복을 통해서 나오며 위의 인덱스값이 하나의 주기로
16부터 위순서대로 텍스트 색상은 출력이 되지만 배경이 틀리게 된다.
예를 들어 0 ~ 15개를 하나의 주기이고 이때 배경색은 검정
16 ~ 31개 첫번째 주기의 텍스트 색상은 같지만 배경은 어두운 파랑이다.
댓글 없음:
댓글 쓰기