c언어 콘솔색생 바꾸기

BOOL WINAPI SetConsoleTextAttribute(
__in HANDLE hConsoleOutput,

__in WORD wAttributes

);

hConsoleOutput은 콘솔 출력 스트림을 넣어주면 됩니다.
GetStdHandle(STD_OUTPUT_HANDLE)로요.

wAttributes는 본격 색깔을 지정해줍니다.
 색깔  숫자
 검정  0
 어두운 파랑  1
 어두운 초록  2
 어두운 하늘  3
 어두운 빨강  4
 어두운 보라  5
 어두운 노랑  6
 회색  7
 어두운 회색  8
 파랑  9
 초록  10
 하늘  11
 빨강  12
 보라  13
 노랑  14
 하양  15

 이 순서대로입니다.
이것은 글자의 색이고 배경색 (전경색)을 바꾸려면 *16을 하면 됩니다.
암산이 빠르신분들은 아예 16진수로 암산하셔서 쓰셔도 됩니다.
그런데 저 색깔과 숫자를 일일히 암기하려면 힘들기때문에 주로 enum으로 선언해서 쓰죠.

 

enum {
BLACK,
D_BLUE,
D_GREEN,
D_SKYBLUE,
D_RED,
D_VIOLET,
D_YELLOW,
GRAY,
D_GRAY,
BLUE,
GREEN,
SKYBLUE,
RED,
VIOLET,
YELLOW,
WHITE,
};
void SetColor(int backcolor, int fontcolor)
{
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), backcolor*16+fontcolor);
}


이걸 헤더파일에 선언해주심 되겠구요
사용할때는

SetColor(BLACK,WHITE);

이렇게 사용하시면 됩니다.

출저:http://breadlab.wo.tc/73 

이 글을 공유하기

댓글

Designed by JB FACTORY