简单的windows窗口创建实例

#include<windows.h>

#include<tchar.h>

LRESULT CALLBACK WndProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)        //消息处理函数

{

 switch(umsg)  

{  

case WM_CLOSE:  

 {    ::DestroyWindow(hwnd);   }

  break;

 case WM_DESTROY:    

{     :: PostQuitMessage(0);         }     

return 0;

 }

 return DefWindowProc(hwnd,umsg,wParam,lParam); //返回默认的消息处理函数

}

int WINAPI _tWinMain(IN HINSTANCE hInstance ,IN HINSTANCE hPrevInstance ,IN LPTSTR szCmdLine ,IN int iCmdShow )

{

 static TCHAR pszClassName[]=_T("IT Wnd");

 //创建窗口  WNDCLASS wxce;

 wxce.style = CS_HREDRAW | CS_VREDRAW ;  //窗口的风格  wxce.lpfnWndProc =WndProc;             //消息处理,需要消息处理函数WndProc的名字  wxce.cbClsExtra = 0 ;                   wxce.cbWndExtra = 0;  wxce.hInstance   = hInstance;           //窗口的实例句柄

 wxce.hIcon   = (HICON)::LoadIcon(NULL,IDI_APPLICATION);        //窗口的的光标

 //wxce.hIconSn= (HICON)::LoadIcon(NULL,IDI_APPLICATION);

 wxce.hCursor = (HCURSOR)::LoadCursor(NULL,IDC_ARROW);         //鼠标指针  wxce.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);    //背景颜色  wxce.lpszMenuName = NULL;                                     //菜单句柄,本例中没有用到菜单  wxce.lpszClassName = pszClassName;                             //窗口名称

 //注册窗口  if(!RegisterClass(&wxce))  {   ::MessageBox(NULL,_T("注册窗口失败"),pszClassName,0);   return FALSE;  }

 //创建窗口

 HWND hwnd = ::CreateWindow(pszClassName,                             //窗口类名         

                  _T("IT学吧"),                            //窗口标题         

  WS_VISIBLE|WS_OVERLAPPEDWINDOW,          //窗口风格,或称窗口格式       

  CW_USEDEFAULT,                           //初始x坐标,这里的初始坐标都设定为默认的  

       CW_USEDEFAULT,                          //初始Y坐标     

    CW_USEDEFAULT,                            //初始X方向尺寸,这里也设为默认的      

   CW_USEDEFAULT,                            //初始Y方向尺寸    

     NULL,                                     //父窗口句柄    

     NULL,                                     //窗口菜单句柄        

 hInstance,                                 //程序实例句柄         NULL   );                                 //创建参数

 if(NULL==hwnd)  

{  

 ::MessageBox(NULL,_T("创建窗口失败"),pszClassName,0);   

return FALSE;

 }

 ::ShowWindow(hwnd,iCmdShow);           //显示窗口  

::UpdateWindow(hwnd);                 //更新窗口

 MSG msg;  while (::GetMessage(&msg,NULL,NULL,NULL))  

{   ::TranslateMessage(&msg);   

::DispatchMessage(&msg);

 }

 return true;

}

你可能感兴趣的:(windows)