[C언어/C++] 콘솔 창 색상, 크기, 제목, 폰트 색상 변경하기

     콘솔 환경설정 

    C언어나 C++을 사용하여 콘솔 개발을 할 때가 많은데 콘솔도 환경설정값이 있어 개발자가 원하는 세팅을 해줄 수 있습니다. 다만 소스코드를 삽입한게 아니라 단순 환경설정이므로 내 PC한정입니다.

     

    1. 콘솔창에 우클릭을 하게 되면 위와 같이 기본값이라는 항목이 있는데 클릭해서 콘솔 창 속성에 들어갑니다.

     

    2. 콘솔 창 속성에서 콘솔의 글꼴과 크기, 창 크기와 색상변경 등 다양한 옵션값을 줄 수 있습니다. 자신만의 스타일로 콘솔창을 꾸며보세요.

     

     

     명령어 사용 

    하나의 소스코드로 모든 디바이스의 콘솔 형태를 맞춰주고 싶다면 windows 헤더파일에 있는 함수들을 활용하여야 합니다. 

    #include <windows.h>
    

     

    콘솔창 크기 변경

    //col = 가로, lines = 세로
    system("mode con:cols=100 lines=10");
    

    콘솔창의 크기를 임의로 지정해줄 수 있습니다. (cols : 가로 / lines : 세로)

     

    콘솔창 제목 변경

    SetConsoleTitle("제목");
    

    콘솔창의 제목을 설정할 수 있습니다.

     

    콘솔창 색상 변경

    system("color 42");
    

    system("color 바꿀 숫자번호) 이렇게 명령을 주게되면 콘솔창의 배경 색상이 바뀝니다.

     

     

    콘솔창 폰트 색상 변경

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 1);
    

    변경하고 싶은 텍스트가 출력되기 전 위의 코드를 넣으면 됩니다. 또한 인자값의 숫자를 변경하면 다른 색상으로 변경이 가능합니다. 색상별 번호는 아래와 같습니다.

     색깔  숫자
     검정  0
     어두운 파랑  1
     어두운 초록  2
     어두운 하늘  3
     어두운 빨강  4
     어두운 보라  5
     어두운 노랑  6
     회색  7
     어두운 회색  8
     파랑  9
     초록  10
     하늘  11
     빨강  12
     보라  13
     노랑  14
     하양  15

     

    폰트 색상 변경 함수 만들기

    #include <stdio.h>
    #include <windows.h>
    
    //색상
    enum {
        BLACK,
        DARK_BLUE,
        DARK_GREEN,
        DARK_SKYBLUE,
        DARK_RED,
        DARK_VOILET,
        DAKR_YELLOW,
        GRAY,
        DARK_GRAY,
        BLUE,
        GREEN,
        SKYBLUE,
        RED,
        VIOLET,
        YELLOW,
        WHITE,
    };
    
    // 콘솔 텍스트 색상 변경해주는 함수
    void setColor(unsigned short text) {
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), text);
    }
    
    
    void main() {
        setColor(RED); //text : RED
        printf("Hi\n");
    
        setColor(VIOLET); //text : VIOLET
        printf("Hello\n");
        
        setColor(GREEN); //text : GREEN
        printf("Good Morning\n");
        
        setColor(GRAY); //text : GRAY
        printf("Good Afternoon\n");
        
        setColor(GREEN); //text : GREEN
        printf("Good Evening\n");
        
        setColor(WHITE); //text : WHITE
        printf("Good Night\n");
    }
    

    폰트의 색상은 0 ~ 15까지의 숫자로 나열되어있습니다. 위의 예제처럼 enum으로 색상들을 나열해놓고 골라쓴다면 콘솔창을 예쁘게 꾸밀 수 있습니다.

    [C언어/C++] 열거형 enum 사용법 & 예제

     

     

    콘솔창 폰트 배경색 변경

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED);
    

    SetConsoleTextAttribute함수에서 인자값으로 BACKGROUND_(변경 할 색상)을 인자값으로 주면 폰트의 배경 색상을 줄 수도 있습니다.

     

    댓글(0)

    Designed by JB FACTORY