C++示例程序(一个空白窗口)

mengkun 567 0
  1. //Windows.h文件中包含应用程序中所需的数据类型和数据结构的定义
  2. #include <windows.h>
  3. #include <tchar.h>
  4. LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明
  5. //------------ 以下初始化窗口类----------------
  6. int WINAPI WinMain( HINSTANCE   hInstance,      //WinMain函数说明
  7.                     HINSTANCE   hPrevInst,
  8.                     LPSTR       lpszCmdLine,
  9.                     int         nCmdShow)
  10. {
  11.         WNDCLASSEX wcex ;
  12.         HWND hwnd ;
  13.         MSG Msg ;
  14.         TCHAR *szClassName = _T("窗口示例");        //窗口类名
  15.         TCHAR *szTitle = _T("My_Windows");      //窗口标题名
  16.         //窗口类的定义
  17.         wcex.cbSize = sizeof(WNDCLASSEX);
  18.         wcex.style = 0;                     //窗口类型为缺省类型
  19.         wcex.lpfnWndProc = WndProc ;        //窗口处理函数为WndProc
  20.         wcex.cbClsExtra = 0 ;               //窗口类无扩展
  21.         wcex.cbWndExtra = 0 ;               //窗口实例无扩展
  22.         wcex.hInstance = hInstance ;        //当前实例句柄
  23.         wcex.hIcon = LoadIcon( hInstance, MAKEINTRESOURCE(IDI_APPLICATION) ) ;
  24.                                             //窗口的最小化图标为缺省图标
  25.         wcex.hCursor = LoadCursor( NULL, IDC_ARROW) ;
  26.                                             //窗口采用箭头光标
  27.         wcex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH) ;
  28.                                             //窗口背景为白色
  29.         wcex.lpszMenuName = NULL ;          //窗口中无菜单
  30.         wcex.lpszClassName = szClassName ;//窗口类名为"窗口示例"
  31.         wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION) ) ;
  32.  //--------------- 以下进行窗口类的注册 -----------------
  33.         if( !RegisterClassEx( &wcex))       //如果注册失败则发出警告声音
  34.         {
  35.             MessageBox(NULL, _T("窗口类注册失败!"), _T("窗口注册"),NULL) ;
  36.             return 1 ;
  37.         }
  38.         //创建窗口
  39.         hwnd=CreateWindow(szClassName,      //窗口类名
  40.                         szTitle,            //窗口实例的标题名
  41.                         WS_OVERLAPPEDWINDOW,    //窗口的风格
  42.                         CW_USEDEFAULT,CW_USEDEFAULT,//窗口左上角坐标为缺省值
  43.                         CW_USEDEFAULT,CW_USEDEFAULT,//窗口的高和宽为缺省值
  44.                         NULL,           //此窗口无父窗口
  45.                         NULL,           //此窗口无主菜单
  46.                         hInstance,      //创建此窗口的应用程序的当前句柄
  47.                         NULL) ;         //不使用该值
  48.         if(!hwnd)
  49.         {
  50.             MessageBox(NULL, _T("创建窗口失败!"), _T("创建窗口"),NULL) ;
  51.             return 1 ;
  52.         }
  53.         ShowWindow( hwnd, nCmdShow) ;   //显示窗口
  54.         UpdateWindow(hwnd);             //绘制用户区
  55.         while( GetMessage(&Msg, NULL, 0, 0))//消息循环
  56.         {
  57.             TranslateMessage( &Msg) ;
  58.             DispatchMessage( &Msg) ;
  59.         }
  60.         return (int)Msg.wParam; //消息循环结束即程序终止时将信息返回系统
  61. }
  62. //窗口函数
  63. LRESULT CALLBACK WndProc(HWND hwnd, UINT message,WPARAM  wParam,LPARAM  lParam)
  64. {
  65.     switch(message){
  66.     case WM_DESTROY:
  67.         PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
  68.         break;
  69.     default:                //缺省时采用系统消息缺省处理函数
  70.         return  DefWindowProc(hwnd,message,wParam,lParam);
  71.         break;
  72.     }
  73.     return (0);
  74. }

以下是运行截图

C++示例程序(一个空白窗口)

C++空白窗口运行截图

打赏
发表评论
表情 图片 链接 代码

分享
微信
微博
QQ