Programming Language/C,C++

C,C++] 콘솔에서 색상 및 커서 제어

TwinParadox 2015. 11. 1. 13:08
728x90

커서를 제어하고 콘솔 색깔을 지정하는 함수

basiclib.CPP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <windows.h>
 
// 화면의 커서를 보이거나 숨기기
void CursorView(char show)
{
    HANDLE hConsole;
    CONSOLE_CURSOR_INFO ConsoleCursor;
 
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
    ConsoleCursor.bVisible = show;
    ConsoleCursor.dwSize = 1;
 
    SetConsoleCursorInfo(hConsole, &ConsoleCursor);
}
 
// x, y 좌표로 커서를 움직이는 함수
void gotoxy(int x, int y)
{
    COORD XY = { x, y };
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), XY);
}
 
// 콘솔 색깔 지정
void SetColor(int color)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
}
cs

basiclib.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#define ONE_SEC        40
#define SOUND        0
 
enum { HIDDEN, SHOW };
 
enum {
    BLOCK,            /*  0 : 까망 */
    DARK_BLUE,        /*  1 : 어두운 파랑 */
    DARK_GREEN,        /*  2 : 어두운 초록 */
    DARK_SKY_BLUE,    /*  3 : 어두운 하늘 */
    DARK_RED,        /*  4 : 어두운 빨강 */
    DARK_VIOLET,    /*  5 : 어두운 보라 */
    DARK_YELLOW,    /*  6 : 어두운 노랑 */
    GRAY,            /*  7 : 회색 */
    DARK_GRAY,        /*  8 : 어두운 회색 */
    BLUE,            /*  9 : 파랑 */
    GREEN,            /* 10 : 초록 */
    SKY_BLUE,        /* 11 : 하늘 */
    RED,            /* 12 : 빨강 */
    VIOLET,            /* 13 : 보라 */
    YELLOW,            /* 14 : 노랑 */
    WHITE,            /* 15 : 하양 */
};
 
/* 화면의 커서를 보이거나 숨기기 */
extern void CursorView(char show);
 
/* x, y 좌표로 커서를 움직이는 함수 */
extern void gotoxy(int x, int y);
 
/* 콘솔 색깔을 지정하는 함수 */
extern void SetColor(int color);
 
cs


728x90