김성엽의 Windows 프로그래밍 이야기
기본적으로 Windows 프로그래밍을 배운다는 뜻은 Win32 API를 사용한 응용 프로그램을 만드는 방법에 ...
blog.naver.com
김성엽님의 Windows 프로그래밍 이야기를 보고 정리한 글입니다.
Win32 프로그래밍의 시작
Win32 프로그래밍의 시작
: Win32 프로그래밍 관련 전체 목차http://blog.naver.com/tipsware/2210599771931. Win32 프로젝트 생성...
blog.naver.com
새 프로젝트 만들기에서 Windows 데스크톱 마법사 선택하고 다음!
프로젝트 이름 정해주고 애플리케이션 종류는 데스크톱 애플리케이션으로 하고 추가 옵션은 미리 컴파일된 헤더를 선택한다.
// MyFirstWin32.cpp : 애플리케이션에 대한 진입점을 정의합니다.
//
#include "pch.h"
#include "framework.h"
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_DESTROY) PostQuitMessage(0);
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int mCmdShow)
{
WNDCLASS wc;
wchar_t my_class_name[] = L"tipsoft";
wc.cbClsExtra = NULL;
wc.cbWndExtra = NULL;
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hInstance = hInstance;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = my_class_name;
wc.lpszMenuName = NULL;
wc.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wc);
HWND hWnd = CreateWindow(my_class_name, L"www.tipssoft.com",
WS_OVERLAPPEDWINDOW, 100, 90, 400, 350, NULL, NULL, hInstance, NULL);
ShowWindow(hWnd, mCmdShow);
UpdateWindow(hWnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
그리고 이렇게 코드를 써주면 끝! 실행을 시키면 작고 귀여운 윈도우가 하나 뜨는 것을 볼 수 있다.ㅋㅋ
코드 설명
1. WndProc: Window Procedure로 메시지를 처리하는 함수
2. WinMain: 윈도우 클래스를 등록
3. CreateWindow: 윈도우를 생성하는 코드
4. while문: 메시지를 번역하고 실행하는 코드
'Windows 프로그래밍' 카테고리의 다른 글
GDI 시스템의 이해 (0) | 2020.05.10 |
---|---|
Windows 운영체제는 화면에 그림을 어떻게 출력하는가? (0) | 2020.05.09 |
자신만의 Window를 사용하려면 자신만의 'Window Class'를 만들자 (0) | 2020.05.07 |
기본적으로 알아야 할 용어와 개념에 대하여 (0) | 2020.05.07 |