티스토리 뷰

ComComComCom/API

아이콘 변경하기

몰라아 2017. 7. 16. 19:07

일단 아이콘을 변경하기위 해서는 .ico파일이 필요하다.

프로젝트 폴더안에

 파일명.ico파일을 넣어놓는다.

그리고나서 폴더안에있는

프로젝트명.rc 파일을 열어준다.

/Microsoft Visual C++에서 생성한 리소스 스크립트입니다.
//
#include "resource.h"

이런식의 내용이 적혀있고

 읽어내려가다보면

 

/////////////////////////////////////////////////////////////////////////////
//
// 아이콘
//

// 응용 프로그램 아이콘이 모든 시스템에서 일관된 상태를 유지하도록 하기 위해
// 가장 낮은 ID 값을 갖는 아이콘이 맨 처음 배치됩니다.

 

이런부분이 있다.

기존에 정의되어있는 아이콘들 아래에 ( 낮은 id 순서이므로 부여하고자하는 id 값에 따라 알아서 ..

 

IDI_ICONTEST       ICON         "IconTest.ico"

 

이런식으로 ICON 타입의 " " 이렇게 정의해둔 뒤 저장을 누른다.

 

이제 프로젝트로 돌아와서

Resource.h 를 열자

#define IDI_ICONTEST     (부여하고자하는id)

매크로를 만들어준 뒤

 

winmain 함수 내에 윈도우 클래스구조체를 정의해주는 부분으로 가자

 

//vs에서 win32 프로젝트를 생성하면 만들어주는 기본타입이므로 각자의 프로젝트에는 WNDCLASS 이런식의 구조체로 되어있을 수 있다. 상관없다.

    WNDCLASSEXW wcex;

    wcex.cbSize = sizeof(WNDCLASSEX);

    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICONTEST));
    wcex.hIconSm  = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_ICONTEST));
    wcex.hCursor        = LoadCursor(nullptr, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = MAKEINTRESOURCEW(IDC_PORTFOLIOALICEMADNESS);
    wcex.lpszClassName  = szWindowClass;

    return RegisterClassExW(&wcex);

위의 빨간박스안의 두줄을 바꾸어주면 아이콘이 두개 다 바뀌는 것을 볼 수 있다.

hIconSm은 윈도우 창의 상단바 왼쪽에 있는 아이콘을 정의하는 부분이고

hIcon은 작업표시줄에 있는 아이콘에 대한 정의 이다.

 

 

 

 

 

'ComComComCom > API' 카테고리의 다른 글

[function] PeekMessage  (0) 2017.07.16
WINAPI에서 콘솔 띄우기 Console Functions  (0) 2017.06.29
키눌림  (0) 2017.06.18
ESC로 종료하기  (0) 2017.06.18
Render환경 만들기  (0) 2017.06.17
댓글