서의 공간

[T2] Create and show window 본문

Graphics API/DirectX 11 - Chili

[T2] Create and show window

홍서의 2020. 11. 27. 13:34

아주 기본적인 윈도우를 만드는 과정을 살핀다. 먼저 하나의 윈도우를 만드는 과정의 전체 흐름이다.

  1. [Register window class]: 윈도우의 기반이 되는 윈도우 클래스의 속성을 설정하고, 등록한다.
  2. [Create window instance]: 윈도우를 만들고 메모리상에 올린다.
  3. [Show the window]: 만든 윈도우를 화면에 표시한다.
  4. [Message Loop]: 메시지 루프를 처리한다.

아래 코드는 위 1~3 과정에 대한 코드이다.

각 속성의 의미와 함수의 파라미터는 MSDN을 참고 할 것.

#include <Windows.h>

int CALLBACK WinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	LPSTR     lpCmdLine,
	int       nCmdShow )
{
	const auto pClassName = "hw3dbutts";
	// register window class
	WNDCLASSEX wc = { 0 };
	wc.cbSize = sizeof( wc );
	wc.style = CS_OWNDC;
	wc.lpfnWndProc = DefWindowProc;
	wc.cbClsExtra = 0;
	wc.cbWndExtra = 0;
	wc.hInstance = hInstance;
	wc.hIcon = nullptr;
	wc.hCursor = nullptr;
	wc.hbrBackground = nullptr;
	wc.lpszMenuName = nullptr;
	wc.lpszClassName = pClassName;
	wc.hIconSm = nullptr;
	RegisterClassEx( &wc );
	// create window instance
	HWND hWnd = CreateWindowEx(
		0,pClassName,
		"Happy Hard Window",
		WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU,
		200,200,640,480,
		nullptr,nullptr,hInstance,nullptr
	);
	// show the damn window
	ShowWindow( hWnd,SW_SHOW );
	while( true );
	return 0;
}

'Graphics API > DirectX 11 - Chili' 카테고리의 다른 글

[T16.0] DirectX 11 파이프라인  (0) 2020.11.28
[T11] Graphics class  (0) 2020.11.27
[T6] Window class  (0) 2020.11.27
[T3] Message Loop  (0) 2020.11.27
DirectX 11 Framework(프레임워크)  (0) 2020.11.24
Comments