본문 바로가기

Windows/_Windows Programming

윈도우 프로그램 기본 틀

#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_hInst;
HWND hwnd;
LPCTSTR lpszClass=TEXT("Formality");
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                  LPSTR lpszCmdParam, 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);
      WndClass.hIcon=LoadIcon(NULL, IDI_APPLICATION);
      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);
      ShowWindow(hWnd,nCmdShow);
 
      while (GetMessage(&Message, NULL, 0, 0))
      {
            TranslateMessage(&Message);
            DispatchMessage(&Message);
      }
      return Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage,
                                               WPARAM wParam, LPARAM lParam)
{
       HDC hdc;
       PAINTSTRUCT ps;
       switch (iMessage)
       {
             case WM_CREATE:
                     return 0;
             case WM_PAINT:
                     hdc=BeginPaint(hWnd, &ps);
                     EndPaint(hWnd, &ps);
                     return 0;
             case WM_DESTROY:
                     PostQuitMessage(0);
                     return 0;
       }
       return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

'Windows > _Windows Programming' 카테고리의 다른 글

Mstsc(원격) 사용하기  (4) 2010.02.06
리소스(Resource)  (0) 2009.12.24
윈도우 관리 메시지  (0) 2009.12.23
타이머(Timer)  (0) 2009.12.23
입력하기  (0) 2009.12.01