• 初始化windows窗口


     1 LRESULT WINAPI WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
     2 {
     3     PAINTSTRUCT ps;
     4     switch (msg)
     5     {
     6     case WM_PAINT:
     7         {
     8             BeginPaint(hWnd,&ps);
     9             EndPaint(hWnd,&ps);
    10             return 0;
    11         }
    12     case WM_DESTROY:
    13         {
    14             PostQuitMessage(0);
    15             return 0;
    16         }
    17     }
    18 
    19     return DefWindowProc(hWnd,msg,wParam,lParam);
    20 }
    21 void initWndClass(HINSTANCE hInstance,WNDCLASSEX &wndClass)
    22 {
    23     wndClass.cbSize = sizeof(WNDCLASSEX);
    24     wndClass.style = CS_HREDRAW | CS_VREDRAW;
    25     wndClass.lpfnWndProc = WndProc;
    26     wndClass.cbClsExtra = 0;
    27     wndClass.cbWndExtra = 0;
    28     wndClass.hInstance = hInstance;
    29     wndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
    30     wndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
    31     wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
    32     wndClass.lpszClassName = TEXT(CLASSNAME);
    33     wndClass.lpszMenuName = NULL;
    34     wndClass.hIconSm = LoadIcon(NULL,IDI_WINLOGO);
    35 }
     1 int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
     2 {
     3     HWND hWnd;
     4 
     5     WNDCLASSEX wndClass;
     6     initWndClass(hInstance,wndClass);
     7 
     8     RegisterClassEx(&wndClass);
     9 
    10     hWnd = CreateWindow(
    11         TEXT(CLASSNAME),
    12         TEXT(APPNAME),
    13         WS_OVERLAPPEDWINDOW,
    14         CW_USEDEFAULT,
    15         CW_USEDEFAULT,
    16         SCREEN_W,
    17         SCREEN_H,
    18         NULL,
    19         NULL,
    20         hInstance,
    21         NULL
    22         );
    23 
    24     if (NULL == hWnd)
    25     {
    26         MessageBox(NULL,TEXT("NULL == hWnd"),NULL,MB_OK);
    27         return 0;
    28     }
    29 
    30     UpdateWindow(hWnd);
    31     ShowWindow(hWnd,nShowCmd); 
    32     MSG msg;
    33     while (true)
    34     {
    35         if ( PeekMessage(&msg,NULL,0,0,PM_REMOVE) )
    36         {
    37             if (WM_QUIT == msg.message)
    38             {
    39                 break;
    40             }
    41             TranslateMessage(&msg);
    42             DispatchMessage(&msg);
    43         }
    44         else 
    45         {
    46             Render();
    47         }
    48     }
    49     Release();
    50     return msg.lParam;
    51 }
  • 相关阅读:
    stl-序列式容器
    BFS
    Hash
    二分法
    草稿1
    红黑树的左旋、右旋和颜色变换
    动态规划
    自动驾驶-安全
    二叉树

  • 原文地址:https://www.cnblogs.com/lc-cnblong/p/3365046.html
Copyright © 2020-2023  润新知