zoukankan      html  css  js  c++  java
  • 第一个Windows程序

    View Code
     1 #include<Windows.h>
     2 
     3 LRESULT CALLBACK WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
     4 
     5 int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nCmdSHow)
     6 {
     7     WNDCLASSEX WindowClass;
     8     static LPCTSTR szAppName=L"OFWin";
     9     HWND hWnd;
    10     MSG msg;
    11 
    12     WindowClass.cbSize=sizeof(WNDCLASSEX);
    13     WindowClass.style=CS_HREDRAW|CS_VREDRAW;
    14     WindowClass.lpfnWndProc=WindowProc;
    15 
    16     WindowClass.cbClsExtra=0;
    17     WindowClass.cbWndExtra=0;
    18 
    19     WindowClass.hInstance=hInstance;
    20 
    21     WindowClass.hIcon=LoadIcon(0,IDI_APPLICATION);
    22     WindowClass.hCursor=LoadCursor(0,IDC_ARROW);
    23 
    24     WindowClass.hbrBackground=static_cast<HBRUSH>(GetStockObject(GRAY_BRUSH));
    25 
    26     WindowClass.lpszMenuName=0;
    27     WindowClass.lpszClassName=szAppName;
    28     WindowClass.hIconSm=0;
    29 
    30 
    31     RegisterClassEx(&WindowClass);
    32 
    33     hWnd=CreateWindow(szAppName,L"A Basic Window the Hard Way",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,
    34                       CW_USEDEFAULT,CW_USEDEFAULT,0,0,hInstance,0);
    35     ShowWindow(hWnd,nCmdSHow);
    36     UpdateWindow(hWnd);
    37 
    38     while (GetMessage(&msg,0,0,0)==TRUE)
    39     {
    40         TranslateMessage(&msg);
    41         DispatchMessage(&msg);
    42     }
    43     
    44     return static_cast<int>(msg.wParam);
    45     
    46 }
    47 
    48 LRESULT CALLBACK WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
    49 {
    50     HDC hDC;
    51     PAINTSTRUCT PaintSt;
    52     RECT aRect;
    53 
    54     switch(message)
    55     {
    56     case WM_PAINT:
    57         hDC=BeginPaint(hWnd,&PaintSt);
    58         GetClientRect(hWnd,&aRect);
    59         SetBkMode(hDC,TRANSPARENT);
    60 
    61         DrawText(hDC,L"But,soft!What light through yonder window breaks?",-1,&aRect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
    62 
    63         EndPaint(hWnd,&PaintSt);
    64         return 0;
    65     case WM_DESTROY:
    66         PostQuitMessage(0);
    67         return 0;
    68 
    69     default:
    70         return DefWindowProc(hWnd,message,wParam,lParam);
    71     }
    72 }
  • 相关阅读:
    java开发编码规范
    Spring Boot 配置文件密码加密两种方案
    qmake生成VS的vcproj/sln工程文件
    R语言爬取动态网页之环境准备
    R实现pm2.5地图数据展示
    【Yii系列】最佳实践之后台业务框架
    【Yii系列】Yii2.0基础框架
    【Python系列】Python自动发邮件脚本-html邮件内容
    【PHP系列】PHP组件详解
    【Yii系列】错误处理和日志系统
  • 原文地址:https://www.cnblogs.com/daidaigua/p/2524442.html
Copyright © 2011-2022 走看看