Win32API의 기본 윈도우 생성
//main
#include<windows.h>
#include<TCHAR.h>
//WndProc Function
LRESULT CALLBACK WndProc(HWND hwnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
switch(iMessage)
{
case WM_DESTROY: PostQuitMessage(0); return 0;
}
return DefWindowProc(hwnd,iMessage,wParam,lParam);
}
//EntryPoint Function
//HINSTANCE g_hInst;
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpCmdLine, int nShowCmd)
{
//1.윈도우 클래스 정의
WNDCLASS WndClass;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = DefWindowProc;
WndClass.lpszClassName = _T("AHN"); // _T를 쓰기 위해서는 #include<TCHAR.h>
WndClass.lpszMenuName = NULL;
WndClass.style = NULL;
//2.윈도우 클래스 -> 레지스트리에 등록
RegisterClass(&WndClass);
//3.윈도우 클래스를 선택해서 윈도우 창 생성
HWND hwnd=CreateWindow(_T("AHN"),_T("First"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
//4.생성된 윈도우 창을 화면에 출력
ShowWindow(hwnd,nShowCmd);
//5.메시지 루프
MSG msg;
while(GetMessage(&msg,hwnd,NULL,NULL))
{
DispatchMessage(&msg);
}
return 0;
}