Window SDK 入门

  1 #include<Windows.h>
  2 #include<conio.h>
  3 #include<memory>
  4 
  5 #include"GameSpriteDemo.h"
  6 #include"TriangleDemo.h"
  7 
  8 #include"D3DTextDemo.h"
  9 
 10 
 11 /*
 12 * This is the beginning of the main function
 13 *
 14 * Author: ROTBLATT
 15 * Date: 2015-05-31
 16 *
 17 */
 18 
 19 LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
 20     WPARAM wParam, LPARAM lParam);
 21 
 22 int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
 23     LPWSTR cmdLine, int cmdShow)
 24 {
 25     UNREFERENCED_PARAMETER(prevInstance);
 26     UNREFERENCED_PARAMETER(cmdLine);
 27 
 28     WNDCLASSEX wndClass = { 0 };
 29     //ZeroMemory(&wndClass, sizeof(wndClass));
 30     wndClass.cbSize = sizeof(WNDCLASSEX);
 31     wndClass.style = CS_HREDRAW | CS_VREDRAW;
 32     wndClass.lpfnWndProc = WndProc;
 33     wndClass.hInstance = hInstance;
 34     wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
 35     wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
 36     wndClass.lpszMenuName = NULL;
 37     wndClass.lpszClassName = "DX11BookWindowClass";
 38 
 39     if (!RegisterClassEx(&wndClass))
 40         return -1;
 41 
 42     RECT rc = { 0, 0, 1024, 768 };
 43     AdjustWindowRect(&rc, WS_OVERLAPPEDWINDOW, FALSE);
 44 
 45     HWND hwnd = CreateWindow("DX11BookWindowClass",
 46         "DirectX 11 Demo",
 47         WS_OVERLAPPEDWINDOW | WS_VSCROLL,
 48         CW_USEDEFAULT,
 49         CW_USEDEFAULT,
 50         rc.right - rc.left,
 51         rc.bottom - rc.top,
 52         NULL, NULL, hInstance, NULL);
 53 
 54     if (!hwnd)
 55         return -1;
 56 
 57     ShowWindow(hwnd, cmdShow);
 58 
 59     //GameSpriteDemo demo;
 60     //TriangleDemo demo;
 61     D3DTextDemo demo;
 62     bool result = demo.Initialize(hInstance, hwnd);
 63 
 64     if (result == false)
 65         return -1;
 66 
 67     MSG msg = { 0 };
 68 
 69     while (msg.message != WM_QUIT)
 70     {
 71         if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
 72         {
 73             TranslateMessage(&msg);
 74             DispatchMessage(&msg);
 75         }
 76         //Update and Draw
 77         demo.Update(0.0f);
 78         demo.Render();
 79     }
 80     demo.Shutdown();
 81 
 82     return static_cast<int>(msg.wParam);
 83 }
 84 
 85 LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
 86     WPARAM wParam, LPARAM lParam)
 87 {
 88     PAINTSTRUCT paintStruct;
 89     HDC hDC;
 90 
 91     switch (message)
 92     {
 93     case WM_PAINT:
 94         //_cprintf("");
 95         hDC = BeginPaint(hwnd, &paintStruct);
 96         EndPaint(hwnd, &paintStruct);
 97         break;
 98     case WM_SIZE:
 99         //MessageBox(NULL, "Windows Changing", "Prompt", MB_OK);
100         //RECT rect;
101         //GetClientRect(hwnd, &rect);
102         //ValidateRect(hwnd,&rect);
103 
104         break;
105 
106     case WM_LBUTTONDOWN:
107         MessageBox(hwnd, "LBT Clicked", "PROMPT", MB_OK);
108         break;
109 
110     case WM_DESTROY:
111         PostQuitMessage(0);
112         break;
113     default:
114         return DefWindowProc(hwnd,message,wParam,lParam);
115     }
116 
117     return 0;
118 }

 

转载于:https://www.cnblogs.com/rotblatt/p/4596665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值