资源简介
MFC + DirectUI 开发的贪吃蛇,能玩,有些功能没实现

代码片段和文件信息
#include “StdAfx.h“
#include “AboutS.h“
CAboutS::CAboutS()
{
m_bDrawBackDC = false;
m_hWnd = NULL;
m_nItemHover = -1;
m_nItemDown = -1;
m_nState = 0;
}
CAboutS::~CAboutS(void)
{
}
void CAboutS::SetInfo(HWND hWnd Image *pImage int nWidth int nHeight)
{
m_hWnd = hWnd;
m_pImage = pImage;
m_nWidth = nWidth;
m_nHeight = nHeight;
m_nButtomSize = m_nWidth * 3 / 20;
int nButtomframe = m_nButtomSize / 2;
m_rcLineTop.SetRect(0 m_nButtomSize m_nWidth m_nButtomSize + m_nWidth * 35 / 800);
m_rctitle.SetRect(0 0 m_nWidth / 2 0 + m_nHeight * 170 / 1280);
}
void CAboutS::Draw(CDC &dc CRect rcUpdate)
{
if(!m_bDrawBackDC)
{
m_bDrawBackDC = true;
m_memBackDC.CreateCompatibleDC(&dc);
m_memBackBit.CreateCompatibleBitmap(&dc m_nWidth * 3 m_nHeight);
CBitmap *pOldBitmap = m_memBackDC.Selectobject(&m_memBackBit);
m_memBackDC.BitBlt(0 0 m_nWidth m_nHeight &dc 0 0 SRCCOPY);
m_memBackDC.BitBlt(m_nWidth 0 m_nWidth m_nHeight &dc 0 0 SRCCOPY);
m_memBackDC.BitBlt(m_nWidth * 2 0 m_nWidth m_nHeight &dc 0 0 SRCCOPY);
Graphics graphics(m_memBackDC);
//上线
graphics.DrawImage(m_pImage Rect(m_rcLineTop.left m_rcLineTop.top m_rcLineTop.Width() m_rcLineTop.Height()) 0 240 800 35 UnitPixel);
graphics.DrawImage(m_pImage Rect(m_rcLineTop.left + m_nWidth m_rcLineTop.top m_rcLineTop.Width() m_rcLineTop.Height()) 0 240 800 35 UnitPixel);
graphics.DrawImage(m_pImage Rect(m_rcLineTop.left + m_nWidth * 2 m_rcLineTop.top m_rcLineTop.Width() m_rcLineTop.Height()) 0 240 800 35 UnitPixel);
//标题
graphics.DrawImage(m_pImage Rect(m_rctitle.left m_rctitle.top m_rctitle.Width() m_rctitle.Height()) 820 580 400 170 UnitPixel);
graphics.DrawImage(m_pImage Rect(m_rctitle.left + m_nWidth m_rctitle.top m_rctitle.Width() m_rctitle.Height()) 820 580 400 170 UnitPixel);
graphics.DrawImage(m_pImage Rect(m_rctitle.left + m_nWidth m_rctitle.top m_rctitle.Width() m_rctitle.Height()) 0 1562 420 170 UnitPixel);
graphics.DrawImage(m_pImage Rect(m_rctitle.left + m_nWidth * 2 m_rctitle.top m_rctitle.Width() m_rctitle.Height()) 820 580 400 170 UnitPixel);
graphics.DrawImage(m_pImage Rect(m_rctitle.left + m_nWidth * 2 m_rctitle.top m_rctitle.Width() m_rctitle.Height()) 420 1562 420 170 UnitPixel);
//详情
graphics.DrawImage(m_pImage Rect(m_nWidth * 1.5 / 8 m_nHeight * 2 / 5 m_nWidth * 5 / 8 m_nHeight / 5) 700 1732 500 250 UnitPixel);
}
dc.BitBlt(0 0 m_nWidth m_nHeight &m_memBackDC 0 0 SRCCOPY);
if(m_nItemHover == 0)
{
dc.BitBlt(m_rctitle.left m_rctitle.top m_rctitle.Width() m_rctitle.Height()
&m_memBackDC m_rctitle.left + m_nWidth * m_nState m_rctitle.top SRCCOPY);
}
}
bool CAboutS::onmousemove(UINT nFlags CPoint point)
{
int nOldItemHover = m_nItemHover;
if(m_rctitle.PtInRect(point))
{
m_nItemHover = 0;
m_nState = 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-27 21:10 snake Src\
目录 0 2013-11-27 21:10 snake Src\Release\
文件 3017728 2013-11-27 21:09 snake Src\Release\snake.exe
文件 139 2013-11-27 20:48 snake Src\Release\SnakeConfig.ini
目录 0 2013-11-27 21:10 snake Src\snake\
文件 881 2013-08-12 21:36 snake Src\snake.sln
文件 52736 2013-11-27 21:10 snake Src\snake.suo
文件 4090 2013-11-27 20:34 snake Src\snake\AboutS.cpp
文件 658 2013-08-15 00:00 snake Src\snake\AboutS.h
文件 11434 2013-08-20 22:12 snake Src\snake\GameLogic.cpp
文件 1476 2013-08-19 20:40 snake Src\snake\GameLogic.h
文件 17290 2013-11-27 20:56 snake Src\snake\GameS.cpp
文件 1571 2013-08-20 21:48 snake Src\snake\GameS.h
文件 3671 2013-08-14 21:16 snake Src\snake\MenuS.cpp
文件 619 2013-08-14 21:16 snake Src\snake\MenuS.h
文件 2833 2013-08-12 21:49 snake Src\snake\ReadMe.txt
目录 0 2013-08-31 11:18 snake Src\snake\res\
文件 631 2013-08-13 21:24 snake Src\snake\resource.h
文件 1266502 2013-11-27 21:08 snake Src\snake\res\image.png
文件 67777 2007-11-28 16:21 snake Src\snake\res\snake.ico
文件 361 2013-08-12 21:49 snake Src\snake\res\snake.rc2
文件 3957 2013-08-15 00:05 snake Src\snake\SettingS.cpp
文件 666 2013-08-15 00:01 snake Src\snake\SettingS.h
文件 1922 2013-08-12 22:15 snake Src\snake\snake.cpp
文件 469 2013-08-12 21:49 snake Src\snake\snake.h
文件 4572 2013-08-13 21:29 snake Src\snake\snake.rc
文件 6198 2013-08-19 21:55 snake Src\snake\snake.vcproj
文件 13007 2013-08-20 21:30 snake Src\snake\snakeDlg.cpp
文件 2058 2013-08-19 21:17 snake Src\snake\snakeDlg.h
文件 138 2013-08-12 21:49 snake Src\snake\stdafx.cpp
文件 1929 2013-08-12 22:15 snake Src\snake\stdafx.h
............此处省略3个文件信息
- 上一篇:MFC教师住房管理系统和矩阵运算以及计算器
- 下一篇:南开大学C++考试题
相关资源
- 基于MFC的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- VC++实现CMD命令执行与获得返回信息
- VC助手 VC6.0助手
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- VC++基于OpenGL模拟的一个3维空间模型
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- 基于VC++的SolidWorks二次开发SolidWorks
- VC6 USB开发源码
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- VC操作SQLSERVER数据库
- aes加解密(vc源程序)
- vc_串口通讯
- 吕鑫vc6c++数据结构视频源码
- 派克变换VC++源码(附文档)
- 基于opencv漫水填充算法综合
评论
共有 条评论