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

    }

  • 相关阅读:
    【转】用.NET 2.0压缩/解压封装的类
    复制到剪贴板的js代码(兼容ie、firefox、chorme、safari...什么都兼容!)
    感觉文章和回复都不错,转载了用正则表达式找出不包含连续字符串abc的单词
    订阅到抓虾、google reader、鲜果等的代码
    [转]妙说23种设计模式
    实现Server.UrlEncode和Server.UrlDecode功能的js代码
    【转】用JS操作XML
    添加到某某书签、某某收藏的代码
    [总结]关于在线用户列表的统计![转载]
    多张图片交替变换的实现方法JS实现和flash实现
  • 原文地址:https://www.cnblogs.com/yfyzy/p/3617360.html
Copyright © 2020-2023  润新知