목표 이번 포스팅에서는 문자열 뿐만 아니라, 긴 텍스트, 픽셀, 원 등등 다양한 것들을 화면에 출력할 것입니다. 목차 클릭하면 해당 목차로 이동합니다. 긴 문자열 출력하기 다양한 그래픽(도형) 출력하기 메세지 박스(Message Box) 출력하기 정리 개요 이전 포스팅에서 Device Context에 대한 개념과 GDI에 대해서 배웠습니다. 이를 통해, 출력 시 발생하는 메세지 및 메세지 처리를 비롯한 출력의 일련의 과정에 대해서 이해했습니다. 이번 포스팅에서는 긴 텍스트를 출력해보고, 간단한 도형과 메세지박스를 출력하는 프로젝트를 진행해서 간단한 출력에 대해서 이해하는 시간을 갖도록 하겠습니다. 긴 문자열 출력하기 이전 포스팅에서 문자열을 출력하기 위해 TextOut 함수를 사용했습니다. 말 그대로 문..
목표 Win32 API을 활용해서 화면에 문자열을 어떻게 출력하는지 알아보도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. Device Context(DC)란? 문자열 출력하기 문자열 정렬하기 정리 개요 이전 포스팅까지 Win32 API의 동작 원리와 진입점인 WinMain과 메세지 처리 함수인 윈도우 프로시저에 대해서 알아보았습니다. 이제, 본격적으로 Win32 API를 활용해서 프로그램을 작성해보는 시간을 갖도록 하겠습니다. 이번 포스팅에는, 문자열을 출력하고 정렬하는 과정을 진행하도록 하겠습니다. Device Context(DC)란? Win32에서 출력을 하기 위해서는 Device Context라는 구조체가 필요합니다. 해당 구조체는 출력에 필요한 모든 정보를 갖고 있는 데이터 구조체입니다...
목표 WinMain함수에서 전달한 메세지를 처리하는 윈도우 프로시저(WinProc 함수)에 대해서 알아보도록 하겠습니다. 개요 지난 포스팅에서 WinMain에 대한 내용에 대해서 이해하는 시간을 가졌습니다. 사용자의 이벤트로부터 발생되는 메세지를 메세지 큐를 통해 받아서 메세지 처리 전용 함수인 윈도우 프로시저로 전달한다고 했습니다. 윈도우 프로시저는 메세지를 받아서 어떻게 처리하는지에 대해서 알아보도록 하겠습니다. 윈도우 프로시저(Window Procedure, WndProc 함수) WinMain 함수에서 메세지 루프를 통해서 발생한 메세지를 큐에 저장합니다. 해당 메세지를 처리하기 위해서 메세지 처리 전용 함수로 전달되어야 합니다. 이 때, 메세지 처리 전용 함수는 윈도우 프로시저입니다. 윈도우 프로..
목표 저번 포스팅에 이어 WIN32 API의 기본구조에 대해서 이해하는 시간을 갖겠습니다. 개요 저번 포스팅에서 Win32 API 프로젝트를 생성하는 방법과 코드 일부분을 살펴보았습니다. 헤더와 전역 변수 및 함수에 대해서 알아보았습니다. 이어서 이번 포스팅에서는 Win32 API의 핵심인 WinMain과 WndProc 함수에 대해서 알아보도록 하겠습니다. WinMain 함수 모든 프로그램에는 Main 함수가 존재합니다. Main 함수의 역할은 여러가지가 있겠지만, 가장 큰 역할은 프로그램의 진입점을 잡아주는 것이라고 생각합니다. 마찬가지로 Win32 API 프로그램도 프로그램의 진입점을 잡아줄 Main 함수가 필요합니다. 그리고 Main문에서 윈도우를 디자인하고 생성하는 역할을 합니다. 코드로 확인하기..
목표 Window API를 사용하기 위한 기초 배경을 쌓도록 하겠습니다. 목차 클릭하면 해당 목차로 이동합니다. API와 MFC 윈도우 프로그래밍 동작 방식 정리 개요 윈도우즈 프로그래밍이라는 수업을 듣게 되어 학습 과정을 기록하려고 합니다. 대학교에 진학해서 제일 먼저 배운 것이 C언어였습니다. 과제 제출과 매크로 프로세서, 어셈블러, 어휘 분석기 등 이론적인 내용을 만들어 본 적이 있지만, 제가 만들고 싶었던 프로그램들은 만들어 본 적이 없습니다. 제가 구상하는 프로그램들은 대부분 GUI 기반이거나 웹, 앱 등의 환경에서 작동하는 프로그램이고, C언어보다 더욱 편리하고 효율적인 언어들이 많았기 때문입니다. 사실, 효율적이라는 말은 조금 모호합니다. 제 지식이 짧았을 수도 있고, 단순히 Python과 ..