본문 바로가기

Programming/API

윈도우 생성 변경 숙제

#include<windows.h> 
#include<tchar.h> 

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

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR strCmdLine,int nShowCmd)

{
 WNDCLASSEX wcex;  
 memset(&wcex,0,sizeof(wcex));

 wcex.cbSize   = sizeof(wcex); 
 wcex.style   = CS_HREDRAW | CS_VREDRAW; 
 wcex.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); 
 wcex.hCursor  = LoadCursor(NULL,IDC_HAND); 
 wcex.hIcon   = LoadIcon(NULL,IDI_APPLICATION);
 wcex.hInstance  = hInstance; 
 wcex.cbClsExtra  = 0;
        
 wcex.cbWndExtra  = 0;
 wcex.hIconSm  = NULL; 
 wcex.lpszMenuName = NULL; 
 wcex.lpfnWndProc = WndProc; 
 wcex.lpszClassName = L"MyWindow"; 
 
 RegisterClassEx(&wcex); 

 HWND hWnd = CreateWindow(L"MyWindow",L"익성이 윈도우 화면",WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,0,0,1280,640,NULL,NULL, hInstance,NULL); 


 if(hWnd ==NULL)
 {
  MessageBox(NULL,L"윈도우 생성실패",L"에러",MB_ICONERROR | MB_OK);
  return -1;
 }

 ShowWindow(hWnd,SW_SHOW);

 MSG msg;
 memset(&msg,0,sizeof(msg));
 while(GetMessage(&msg,NULL,0,0)) 
 {
  TranslateMessage(&msg); 
  DispatchMessage(&msg); 
 }
 return 0;
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
 switch(uMsg)
 {
  case WM_DESTROY :
  {
   PostQuitMessage(0);
   break;
  }
 }
 return DefWindowProc(hWnd, uMsg, wParam, lParam);
} 

 

'Programming > API' 카테고리의 다른 글

자식 윈도우창 만들기 - 1  (1) 2014.09.17
BOOL PeekMessage,LRESULT GetMessage  (0) 2014.09.17
WM_KEYDOWN  (0) 2014.09.17
_stprintf_st  (0) 2014.09.17
API 기본 윈도우창 띠우기  (0) 2014.09.12