简单的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;

}

转载于:https://www.cnblogs.com/yfyzy/p/3617360.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值