资源简介
基于DirectX的简单GUI界面制作,采用Visual Studio 2012工具,需配置DirectX9.0用户环境方能成功运行。
代码片段和文件信息
/*--------------------------------------------------------------
【Cpp文件】:GUIClass.cpp Created by Beyond Ray2014年2月
(描述):一个封装了控件对象的类和控件处理函数的实现
----------------------------------------------------------------*/
#include“GUIClass.h“
//-------------------------------------------【GUIClass()函数】--------------------------------------------------
// Desc:构造函数(初始化)
//---------------------------------------------------------------------------------------------------------------
GUIClass::GUIClass(LPDIRECT3DDEVICE9 pd3dDevice9 WORD Width WORD Height)
{
m_pd3dDevice9 = pd3dDevice9;
m_pBackGround = NULL;
m_pBkBuffer = NULL;
m_pControl = NULL;
m_pCtrlBuffer = NULL;
m_pFont = NULL;
m_iFontNums = 0;
m_iTextNums = 0;
m_iControlNums = 0;
m_iButtonNums = 0;
m_wBackgroundWidth = Width;
m_wBackgroundHeight = Height;
m_bIsBKBufferUsed = FALSE;
}
//-------------------------------------------【AddBackground()函数】---------------------------------------------
// Desc:添加GUIClass对象的唯一背景图片
//---------------------------------------------------------------------------------------------------------------
BOOL GUIClass::AddBackground(TCHAR * pBackgroundName)
{
if (!pBackgroundName) return FALSE;
IF(D3DXCreateTextureFromFile(m_pd3dDevice9 pBackgroundName &m_pBackGround));
IF(m_pd3dDevice9->CreateVertexBuffer(4 * sizeof(GUIVERTEX) D3DUSAGE_WRITEONLY D3DFVF_GUI
D3DPOOL_DEFAULT &m_pBkBuffer NULL));
float w = (float)m_wBackgroundWidth;
float h = (float)m_wBackgroundHeight;
GUIVERTEX Vertices[] =
{
{ 0 h 0.0f 1.0f 0.0f 1.0f }
{ 0 0 0.0f 1.0f 0.0f 0.0f }
{ w h 0.0f 1.0f 1.0f 1.0f }
{ w 0 0.0f 1.0f 1.0f 0.0f }
};
VOID *pVertices = NULL;
IF(m_pBkBuffer->Lock(0 0 &pVertices NULL));
memcpy(pVertices Vertices sizeof(Vertices));
m_pBkBuffer->Unlock();
m_bIsBKBufferUsed = true;
return TRUE;
}
//--------------------------------------------【CreateTextFont()函数】-------------------------------------------
// Desc:创建并增加字体对象
//---------------------------------------------------------------------------------------------------------------
BOOL GUIClass::CreateTextFont(TCHAR * FontName DWORD SIZE WORD *Index)
{
if (!m_pFont)
{
m_pFont = new LPD3DXFONT[1];
if (!m_pFont) return FALSE;
}
else
{
LPD3DXFONT * pTempFont = new LPD3DXFONT[m_iFontNums + 1];
if (!pTempFont) return FALSE;
memset(pTempFont 0 sizeof(pTempFont));
memcpy(pTempFont m_pFont sizeof(m_pFont));
SAFE_DELETE_ARRAY(m_pFont);
m_pFont = pTempFont;
}
IF(D3DXCreateFont(m_pd3dDevice9 SIZE 0 1000 0 false
DEFAULT_CHARSET OUT_DEFAULT_PRECIS DEFAULT_QUALITY 0 FontName &m_pFont[m_iFontNums]));
*Index = m_iFontNums;
m_iFontNums++;
return TRUE;
}
//-------------------------------------------【AddText()函数】---------------------------------------------------
// Desc:增加文本控件
//------------------------------------------------------
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 885 2014-08-01 22:37 GUIDemo\GUIDemo\D3DComMacro.h
文件 4032 2013-11-23 19:06 GUIDemo\GUIDemo\GUI\backDown.png
文件 4032 2013-11-23 19:07 GUIDemo\GUIDemo\GUI\backOver.png
文件 3695 2013-11-23 19:07 GUIDemo\GUIDemo\GUI\backUp.png
文件 5677 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\loadDown.png
文件 284243 2014-02-14 18:40 GUIDemo\GUIDemo\GUI\loadgame.jpg
文件 7092 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\loadOver.png
文件 5998 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\loadUp.png
文件 272968 2014-02-14 19:11 GUIDemo\GUIDemo\GUI\main.jpg
文件 324782 2014-02-14 17:54 GUIDemo\GUIDemo\GUI\main2.jpg
文件 239645 2014-02-14 18:08 GUIDemo\GUIDemo\GUI\option.jpg
文件 6039 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\optionsDown.png
文件 6232 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\optionsOver.png
文件 5143 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\optionsUp.png
文件 4625 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\quitDown.png
文件 4727 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\quitOver.png
文件 4231 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\quitUp.png
文件 6891 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\startDown.png
文件 230738 2014-02-14 18:17 GUIDemo\GUIDemo\GUI\startgame.jpg
文件 7129 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\startOver.png
文件 5757 2006-04-12 08:22 GUIDemo\GUIDemo\GUI\startUp.png
文件 46596044 2014-02-15 01:35 GUIDemo\GUIDemo\GUI\天下贰 - 太古铜门.wav
文件 10837 2014-02-15 14:03 GUIDemo\GUIDemo\GUI\跳过.png
文件 13126 2014-02-15 14:04 GUIDemo\GUIDemo\GUI\跳过1.png
文件 13252 2014-02-15 14:04 GUIDemo\GUIDemo\GUI\跳过2.png
文件 19429 2014-02-14 21:30 GUIDemo\GUIDemo\GUI\飞行模式down.png
文件 19388 2014-02-14 21:31 GUIDemo\GUIDemo\GUI\飞行模式over.png
文件 18552 2014-02-14 21:29 GUIDemo\GUIDemo\GUI\飞行模式up.png
文件 11222 2014-08-01 21:44 GUIDemo\GUIDemo\GUIClass.cpp
文件 4659 2014-08-01 22:50 GUIDemo\GUIDemo\GUIClass.h
............此处省略27个文件信息
相关资源
- Magento 2 Beginners Guide
- Implementing Cisco IP Telephony and Video Part
- Fluid Mechanics(8th) 无水印pdf
- arduino仿真软件
- CISSP Official Study Guide Eighth Edition(OS
- DirectX 自制游戏引擎
- 华为Quidway S3300系列交换机S3328-V100R0
- BUILDING MACHINE LEARNING PROJECTS WITH TENSOR
- UNIGUI接收普通消息和被动回复用户消
- handbrake -- ffmpeg 图形化工具
- H+ V4.9 后台主题UI框架 官方原版代码
- Newifi_mini_xCloudOS_y1_Build20180612_v3.2.1.9
- QuickLook.Plugin.OfficeViewer.qlplugin
- 微电子电路第六版Microelectronic.Circui
- BurpSuitePro含注册机
- 初学者arduino例程25个
- 全局对话框UiView不依赖activity的全局对
- 智能arduino小车源程序
- Introduction to 3D Game Programming with Direc
- CompTIA Security+ Study Guide Exam SY0-501(7
- PROCESSING与ARDUINO互动编程 -黄文恺 (作
- unityNGUI计算器小案例有源码
- Openbuilds DIY雕刻机CNC资料
- QuickTime 7.50.61.0 专业版┊破解版┊播放
- stm32+UCOS+UCGUI3.98+FATFS综合程序
- DirectX 高级动画制作书中源代码
- H+4.9响应式后台主题UI框架官方原版代
- David Johns Ken Martin 的《Analog Integrated
- jfinal_layui增删改查分页
- Real-Time -3D-Rendering-with-DirectX-and-HLSL
评论
共有 条评论