[Windows API] Win32 API의 그리기 모드와 ROP2 모드, 선 그리기
개발/Win32 API Programming2022. 2. 15. 01:01[Windows API] Win32 API의 그리기 모드와 ROP2 모드, 선 그리기

목표 Win32 API에서 제공하는 그리기 모드와 RopMode에 대해서 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 1. Win32 API의 그리기 모드 2. RopMode를 활용해 선 그리기 정리 개요 이전 포스팅에서 GDI 오브젝트 중 하나인 펜과 브러쉬를 활용해 도형을 그리는 실습을 진행했습니다. 이번 포스팅에서는 그리기 모드와 RopMode에 대해서 다뤄보도록 하겠습니다. Win32 API를 활용해서 만든 프로그램의 모션은 조금 어색합니다. 최근 컴퓨터의 처리 능력이 높아져서 덜하지만, 버벅이거나 끊기는 듯한 느낌은 어쩔수 없이 들게 됩니다. 이러한 부분을 보완하기 위해서 RopMode를 활용할 수 있습니다. 특히, RopMode를 활용하여 애니메이션 효과를 줄 수도 있습니다...

[Windows API] Win32 API를 활용해 작업 영역 얻기
개발/Win32 API Programming2022. 1. 27. 19:46[Windows API] Win32 API를 활용해 작업 영역 얻기

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

[Windows API] Win32 API의 백그라운드 작업과 콜백 함수
개발/Win32 API Programming2022. 1. 20. 01:16[Windows API] Win32 API의 백그라운드 작업과 콜백 함수

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

[Windows API] Win32 API를 활용해 긴 텍스트, 도형, 메세지박스 출력하기
개발/Win32 API Programming2022. 1. 2. 16:19[Windows API] Win32 API를 활용해 긴 텍스트, 도형, 메세지박스 출력하기

목표 이번 포스팅에서는 문자열 뿐만 아니라, 긴 텍스트, 픽셀, 원 등등 다양한 것들을 화면에 출력할 것입니다. 목차 클릭하면 해당 목차로 이동합니다. 긴 문자열 출력하기 다양한 그래픽(도형) 출력하기 메세지 박스(Message Box) 출력하기 정리 개요 이전 포스팅에서 Device Context에 대한 개념과 GDI에 대해서 배웠습니다. 이를 통해, 출력 시 발생하는 메세지 및 메세지 처리를 비롯한 출력의 일련의 과정에 대해서 이해했습니다. 이번 포스팅에서는 긴 텍스트를 출력해보고, 간단한 도형과 메세지박스를 출력하는 프로젝트를 진행해서 간단한 출력에 대해서 이해하는 시간을 갖도록 하겠습니다. 긴 문자열 출력하기 이전 포스팅에서 문자열을 출력하기 위해 TextOut 함수를 사용했습니다. 말 그대로 문..

[Windows API] Win32 API의 기본구조, WinMain-(2)
개발/Win32 API Programming2021. 11. 5. 14:49[Windows API] Win32 API의 기본구조, WinMain-(2)

목표 저번 포스팅에 이어 WIN32 API의 기본구조에 대해서 이해하는 시간을 갖겠습니다. 개요 저번 포스팅에서 Win32 API 프로젝트를 생성하는 방법과 코드 일부분을 살펴보았습니다. 헤더와 전역 변수 및 함수에 대해서 알아보았습니다. 이어서 이번 포스팅에서는 Win32 API의 핵심인 WinMain과 WndProc 함수에 대해서 알아보도록 하겠습니다. WinMain 함수 모든 프로그램에는 Main 함수가 존재합니다. Main 함수의 역할은 여러가지가 있겠지만, 가장 큰 역할은 프로그램의 진입점을 잡아주는 것이라고 생각합니다. 마찬가지로 Win32 API 프로그램도 프로그램의 진입점을 잡아줄 Main 함수가 필요합니다. 그리고 Main문에서 윈도우를 디자인하고 생성하는 역할을 합니다. 코드로 확인하기..

[Windows API] 윈도우 프로젝트 생성과 WIN32 API의 기본 구조-(1)
개발/Win32 API Programming2021. 11. 3. 21:17[Windows API] 윈도우 프로젝트 생성과 WIN32 API의 기본 구조-(1)

목표 Window API를 사용하기 위해서 기본 프로젝트를 생성하는 시간을 갖겠습니다. 목차 클릭하면 해당 목차로 이동합니다. 프로젝트 생성 Windows API의 기본 구조 - 헤더와 전역 변수 정리 개요 이전 게시글에서 WIN32 API의 기본 구조의 이론과 데이터 타입에 대해서 다루었습니다. 이제 본격적으로 시작해보려고 합니다. 대부분의 공부는 처음부터 차근차근 배우는 Bottom-up 방식이었다면, 이번 공부는 전체적인 틀을 먼저 확인하고 분석해나가는 Top-down 방식으로 진행할 예정입니다. 처음에 구조를 잡는 것이 살짝 부담스러웠지만, 첫 고비를 잘 넘긴다면 보다 편한 마음으로 새로운 것을 받아들일 수 있습니다. 따라서, 이번 포스팅에서는 WIN32 API의 기본 구조를 코드로 직접 확인해보..

image