메모장 입니다2

Windows] API - 2) First 예제 본문

Study/Programming

Windows] API - 2) First 예제

Wooum@n 2017. 8. 8. 18:25

#include <windows.h>


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE g_hInst;

LPCTSTR lpszClass = TEXT("First");


int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpszCmdParam, int nCmdShow)

{

HWND hWnd;


MSG Message;

WNDCLASS WndClass;

g_hInst = hInstance;


WndClass.cbClsExtra = 0;

WndClass.cbWndExtra = 0;

WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);

WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);  //NULL: 윈도우 표준 커서

WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); //NULL: 윈도우 표준 아이콘

WndClass.hInstance = hInstance;

WndClass.lpfnWndProc = WndProc;

WndClass.lpszClassName = lpszClass;

WndClass.lpszMenuName = NULL;

WndClass.style = CS_HREDRAW | CS_VREDRAW;

RegisterClass(&WndClass);


hWnd = CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,

NULL, (HMENU)NULL, hInstance, NULL);

while (GetMessage(&Message, NULL, 0, 0)) {

TranslateMessage(&Message);

DispatchMessage(&Message);

}


}


LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM IParam)

{

switch (iMessage) {

case WM_DESTROY:

PostQuitMessage(0);

return 0;

}


return (DefWindowProc(hWnd, iMessage, wParam, IParam));

}