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 }
时间: 2024-10-25 17:26:53

Window SDK 入门的相关文章

Vuforia AR SDK入门

Vuforia AR SDK入门 Vuforia是一个能让应用拥有视觉的软件平台.开发者借助它可以很轻松地为任何应用添加先进计算机视觉功能,允许你识别图片和物体,或者在真实世界中重建环境内容. 如果你现在正在制作一些可交互的市场活动项目或者一款游戏.或者一款用于提升购物体验的产品可视化应用,Vuforia SDK都能满足你的需求. Vuforia的关键特性包括对图片.物体.文本和标记的识别和追踪,以及重建环境. Vuforia 5.5版本引入了对头部转动和手势追踪的支持,同时还具备带失真校正的立

ESP8266文档阅读ESP8266 SDK 入门指南

ESP8266 SDK  入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件准备 . 4.Flash布局 5.6.....

X Window 简单入门教程

1.X Window 系统的窗口显示原理: http://www.ibm.com/developerworks/cn/linux/l-cn-xwin/ 2.X Window 程式设计入门--第二章 X Programming 的第一步 http://fanqiang.chinaunix.net/a4/b8/20010601/180800311.html http://fanqiang.chinaunix.net/a4/b8/20010601/190001312.html

Window Azure ServiceBus Messaging消息队列技术系列2-编程SDK入门

各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本章我们主要介绍ServiceBus的编程SDK编程入门. 首先,微软提供了两个主要的Nuget Packages: Microsoft Azure Service Bus 3.4.0 主要的NameSpace有以下几个: 1. Microsoft.ServiceBus,这个下面有两个主要的类:Tok

dapr微服务.netcore sdk入门

Actors入门 先决条件 .Net Core SDK 3.0 Dapr CLI Dapr DotNet SDK 概述 本文档描述如何在客户端应用程序上创建Actor(MyActor)并调用其方法. MyActor --- MyActor.Interfaces | +- MyActorService | +- MyActorClient 接口项目(\MyActor\MyActor.Interfaces).此项目包含参与者的接口定义.Actor接口可以在任何名称的项目中定义.接口定义了actor实

Windows程序设计(c语言) 第1章 SDK入门

一.学习背景 现在我们要学的是Windows32的编程,与DOS不同的是,实现的目标是一个具有你所需要的功能的"窗口".这个"窗口"时时刻刻都在与操作系统之间,通过一个称之为"消息队列"的东西传送数据.因此处理好各种消息便成了Win32编程的核心. SDK编程是相对于MFC来说的,也就是用C和C++来调用WindowsAPI,API是操作系统的东西,其他语言(如VB)也可以调用.因此,以前也有人将这种编程称为API编程.当然,这儿对C或C++进行

Windows下FFmpeg高速入门

本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视频文件转换成FLV整理 java 视频处理 mencoder java 视频处理 ffmped+mencoder Windows下FFmpeg高速入门 FFmpeg简单介绍 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方式, 包含 libavcodec ,一套率先

Windows下FFmpeg快速入门

本系列文章导航 Windows下FFmpeg快速入门 ffmpeg参数解释 mencoder和ffmpeg参数详解(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视频文件转换成FLV整理 java 视频处理 mencoder java 视频处理 ffmped+mencoder Windows下FFmpeg快速入门 FFmpeg简介 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视

X Window 程式设计

X Window 程式设计 转   http://www.cppblog.com/zmj/archive/2007/05/18/24331.html X Window 程式设计 X Window 程式设计入门 http://cnpa.yzu.edu.tw/~thinker 作者:李圭烽 (Thinker; [email protected]) (2001-06-01 17:04:00) -------------------------------------------------------