c언어 콘솔색생 바꾸기
- 프로그래밍/게임만들기
- 2011. 4. 14. 12:09
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
이 글을 공유하기