개발

    [Windows API] Win32 API의 펜과 브러쉬, Old의 의미

    목표 펜과 브러쉬를 활용해 화면에 도형을 출력해보고, Old의 의미에 대해서 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. 펜(Pen) 2. 브러쉬(Brush) 3. Old의 의미 정리 개요 저번 포스팅에서 GDI, DC 등 그래픽 출력을 위한 기본적인 이론과 스톡 오브젝트에 대해 다루었습니다. [Windows API] Win32 API의 그래픽, GDI와 스톡 오브젝트(Stock Object) 이번 포스팅에선 펜과 브러쉬를 활용해 화면에 도형을 출력하는 실습을 진행할 것입니다. 기본적으로 GDI 오브젝트를 만들어 사용하는 원리는 다음과 같습니다. 펜을 사용하는 것을 예시로 들어보겠습니다. HPEN MyPen, OldPen; // 1.핸들을 선언한다. MyPen = CreatePen..

    [Windows API] Win32 API의 그래픽, GDI와 스톡 오브젝트(Stock Object)

    목표 Win32 API를 활용해 윈도우에 도형, 비트맵 등을 출력하고 ROP2 모드를 설정하기 위한 GDI, DC의 개념과 스톡 오브젝트(Stock Object)의 개념에 대해서 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. GDI, GDI 오브젝트, DC의 개념 2. 스톡 오브젝트 활용과 색상 정리 개요 GDI(Graphic Devcie Interface)와 DC(Device Context)는 이전 포스팅에서 꾸준히 다뤄온 친구들입니다. 다시 한 번 복습하고 구체적인 내용을 알아보도록 하겠습니다. [Windows API] Device Context란?, Win32 API를 활용해 문자열 출력하기 1. GDI, GDI 오브젝트, DC의 개념 GDI는 화면, 프린터와 같은 모든 출력 ..

    [Windows API] Win32 API를 활용해 작업 영역 얻기

    목표 Win32 API를 활용해 작업 영역의 크기를 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. 작업 영역(Client Area) 2. GetClientRect 함수를 통해 작업 영역 얻기 정리 개요 기존 프로젝트를 실행하고 윈도우의 크기를 변경하면 사이즈는 바뀌지만, 내용은 그대로 있는 것을 알 수 있습니다. 사이즈를 줄이면 내용이 안보이는 상황입니다. 대부분의 웹사이트를 접속하면 브라우저의 크기를 변경하면 크기에 맞게 내용이 이동하는 것을 보신 적이 있을 것입니다. 이는 크기가 바뀌어도 사용자가 내용을 확인할 수 있도록 반응형 웹사이트로 만든 것입니다. Win32 API로 만든 윈도우도 이와 같은 기능을 구현할 수 있습니다. 1. 작업 영역(Client Area) 우선 작업 영..

    [Windows API] Win32 API의 백그라운드 작업과 콜백 함수

    목표 Windows API를 활용해 백그라운드 작업을 하고, 콜백 함수에 대해서 이해하고 실습하도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 백그라운드 작업 콜백 함수(Callback Function) 정리 개요 이전 포스팅에서 타이머에 대한 내용을 다뤘습니다. 타이머를 활용해서 백그라운드 작업을 할 수 있습니다. 또한, 타이머는 윈도우 프로시저 내에서 WM_TIMER 메세지를 처리하는 방식으로 활용했습니다. 작은 프로그램에선 상관이 없지만, 프로그램의 크기가 커진다면 윈도우 프로시저 내에서 모든 것을 처리한다면 복잡성이 올라가고 가독성도 떨어질 것입니다. 이번 포스팅에서는 타이머를 활용해 백그라운드 작업을 하는 것과 콜백 함수를 통해서 타이머를 처리하는 것에 대해서 알아보도록 하겠습니다. 백..