Direct3D 12 创建windows窗口
之前列出了计算机图形学的计划,现在开始这一阶段的学习,首先是Windows窗口的创建。
创建windows窗口
环境: 1. Visual Studio 2015
新建项目



创建工程项目完成,确定为窗口:


添加MainWindowDemo.cpp文件
/*
实现窗口创建的六步骤:
第一步:创建入口函数WinMain
第二步:注册窗口类
第三部:实现回调函数的功能
第四步:显示窗口
第五步:更新窗口
第六步:消息循环
*/ #include "windows.h" //回调函数
LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
{
MessageBox(NULL, L"即将创建一个窗口!", L"Infor", MB_OK);
}
break;
case WM_DESTROY:
{
PostQuitMessage();
}
break;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
} //创建入口函数
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int ShowCmd)
{
HWND hWnd = ; MSG nMsg = { }; //注册窗口类
WNDCLASS cs = { };
cs.cbClsExtra = ;
cs.cbWndExtra = ;
cs.hbrBackground = (HBRUSH)(COLOR_WINDOW + );
cs.hCursor = NULL;
cs.hIcon = NULL;
cs.hInstance = hInstance;
cs.lpfnWndProc = (WNDPROC)WinProc;
cs.lpszClassName = L"Main";
cs.lpszMenuName = NULL;
cs.style = CS_VREDRAW | CS_HREDRAW; RegisterClass(&cs);//实现注册窗口 //创建窗口
hWnd = CreateWindow(L"Main", L"Windows", WS_OVERLAPPEDWINDOW, , , , , NULL, NULL, hInstance, NULL);
//显示窗口
ShowWindow(hWnd, SW_SHOW);
//更新窗口
UpdateWindow(hWnd);
//消息循环
while (GetMessage(&nMsg, , NULL, NULL))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
return ;
}
代码引用:https://www.cnblogs.com/xiaoweiwangwang/p/4079494.html
Direct3D 12 创建windows窗口的更多相关文章
- win32手动创建windows窗口的,小记
摘抄自文档,其中的函数需要以后花时间看 向 WinMain 添加功能 首先,在 WinMain 函数内部创建 WNDCLASSEX 类型的窗口类结构. 此结构包含有关窗口的信息,如应用程序图标.窗口的 ...
- 创建windows窗口
from tkinter import * win=Tk() #创建窗口对象 win.title("我的第一个gu ...
- DirectDraw创建Windows窗口
KWindow.h KWindow.cpp KDDrawWindow.cpp #define STRICT #define WIN32_LEAN_AND_MEAN #include <wind ...
- win32 api Windows窗口的创建
windows窗口的创建有以下几个步骤: 1.创建注册窗口类 2.创建窗口句柄 3.显示更新窗口 4.消息循环 1.创建注册窗口类 所谓创建窗口类就是定义一个WNDCLASS类对象,并将该对象进行初始 ...
- Windows窗口的创建
Windows窗口创建的基本代码: #include <Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); i ...
- Windows窗口创建的具体步骤
/*实现窗口创建的六步骤:第一步:创建入口函数WinMain第二步:注册窗口类第三部:实现回调函数的功能第四步:显示窗口第五步:更新窗口第六步:消息循环*/ #include "stdafx ...
- 深入解析Windows窗口创建和消息分发(三个核心问题:怎么将不同的窗口过程勾到一起,将不同的hwnd消息分发给对应的CWnd类去处理,CWnd如何简单有效的去处理消息,由浅入深,非常清楚) good
笔记:争取不用看下面的内容,只看自己的笔记,就能记住这个流程,就算明白了: _tWinMain-->AfxWinMain,它调用四个函数: -->AfxWinInit用于做一些框架的初始化 ...
- java最简单的知识之创建一个简单的windows窗口,利用Frame类
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看一下 ...
- 【译】Import Changes from Direct3D 11 to Direct3D 12
译者:林公子 出处:木木的二进制人生 转载请注明作者和出处,谢谢! 这是微软公布的Direct3D 12文档的其中一篇,此翻译留作学习记录备忘,水平有限,错漏难免,还望海涵. 原文链接是https:/ ...
随机推荐
- 实现自己的ArrayList
最近在学习数据结构和算法,书上有个ArrayList的简单实现,写的很不错. package cn.sp.test4; import java.util.Iterator; import java.u ...
- c语言程序设计案例教程(第2版)笔记(三)—变量、结构体
零散知识点: 变量 :C语言中,每个变量必须先定义后引用.所谓变量存在是指系统为这个变量分配一块存储空间,此时对变量的操作,就是对变量所对应的存储空间中存放的数据进行操作.人们将变量占据 ...
- 《windows核心编程系列》二十一谈谈基址重定位和模块绑定
每个DLL和可执行文件都有一个首选基地址.它表示该模块被映射到进程地址空间时最佳的内存地址.在构建可执行文件时,默认情况下链接器会将它的首选基地址设为0x400000.对于DLL来说,链接器会将它的首 ...
- 32位Oracle10g在64位CentOS下安装失败记录
环境信息:Alibaba Cloud Elastic Compute Service,CentOS Linux release 7.4.1708 (Core),16C/64GB. 使用32位Oracl ...
- Python快速教程(转载)
Python快速教程 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题 ...
- 帮助新手理解equals和hashCode
入行快要两年,偶尔想起来equals和hash还是会有些晕,索性今天就更深入的弄明白一些,不足之处也请各位大神指出批评,共同进步. 刚开始学java的时候只是记忆性的来背,如果一个类在程序中可能进行比 ...
- ReactJS-0-React介绍
React介绍: React是一个库而不是一个MVC框架,因为React只负责解决MVC框架中V(View)层面的问题,React致力于创建可重用的UI组件.(React is a library f ...
- absolute元素水平居中
原始(未居中): .con{ width:200px; height:200px; background:#ccc; position:relative; } .abs{ width:40px; he ...
- java debug源码完整版
第一步:现在myeclipse或者eclipse中下载jad插件,将class文件翻译成java文件 点击下载安装 第二步:创建一个java工程,导出成jar包.jdk自带的jar包不包含debug ...
- TNS-00511: 无监听程序
这里到服务里面打开 tns 的监听服务