zoukankan      html  css  js  c++  java
  • 简单的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;

    }

  • 相关阅读:
    JavaEE Tutorials (25)
    洛谷 P2677 超级书架 2
    洛谷 P1029 最大公约数和最小公倍数问题
    洛谷 P1305 新二叉树
    洛谷 P3817 小A的糖果
    洛谷 P1618 三连击(升级版)
    洛谷 P2097 资料分发1
    洛谷 P1068 分数线划定
    洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
    洛谷 P1223 排队接水
  • 原文地址:https://www.cnblogs.com/yfyzy/p/3617360.html
Copyright © 2011-2022 走看看