#include <windows.h> //wndows.h include
//전역변수
HINSTANCE g_hInst; //전역 인스턴스의 핸들선언
LPCTSTR lpszClass = TEXT("WinMain");
HWND g_hWnd; //윈도우의 핸들
//함수 프로토타입
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
//윈도우 메인 함수
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance
,LPSTR lpszCmdParam, int nCmdShow)
{
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); //커서 만들기
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION); //아이콘을 읽는다
WndClass.hInstance = hInstance; //윈도우 클래스의 인스턴스
WndClass.lpfnWndProc = (WNDPROC)WndProc; //윈도우 프로시저의 이름
WndClass.lpszClassName = lpszClass; //윈도우 클래스의 이름
WndClass.lpszMenuName = NULL; //메뉴의 이름
WndClass.style = CS_HREDRAW | CS_VREDRAW; //윈도우의 스타일
RegisterClass(&WndClass); //클래스를 등록한다
//윈도우를 만든다
g_hWnd = CreateWindow(lpszClass,lpszClass, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(g_hWnd, nCmdShow);
/*
while(true)
{
/// 메시지큐에 메시지가 있으면 메시지 처리
if( PeekMessage( &Message, NULL, 0U, 0U, PM_REMOVE ) )
{
if(Message.message == WM_QUIT) break;
TranslateMessage( &Message );
DispatchMessage( &Message );
}
/// 처리할 메시지가 없으면 Render()함수 호출
// Render();
}
*/
//메세지 루프
while(GetMessage(&Message,NULL,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}
//윈도우 프로시저
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
switch(iMessage)
{
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
break;
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
PostMessage( hWnd, WM_DESTROY, 0, 0L );
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
'프로그래밍 > API' 카테고리의 다른 글
ReadFile() 함수 (0) | 2010.07.27 |
---|---|
CSting의 유니코드를 파일로 저장 & 로드 할때 (0) | 2010.05.25 |
멀티바이트->유니코드 , 유니코드->멀티바이트 간단변환 (0) | 2010.05.25 |
하얀새님 블로그 (0) | 2010.05.20 |
1 (0) | 2010.05.20 |