资源简介
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教师住房管理系统和矩阵运算以及
- 高斯投影坐标正反算MFC
- mfc实现的考试出题系统
- VC++之MFC类库中文手册含MFC控件使用手
- VC++6.0全屏切换的窗口
- 利用MFC和OpenCV实现的图片浏览器,支
- vc++《车型识别系统》
- MFC编写的贪吃蛇源码
- 股票分析软件源码
- VC6.0 winsock编程.pdf
- 火车订票系统MFC
- VC 截屏或抓屏程序
- 基于VC++MFC程序设计简易画图板
- 用MFC做的模拟时钟指针,还有日历对
- 学生住宿安排管理系统
- VC基于对话框的MFC程序,实现字符统计
- vc文件捆绑器源代码
- 基于MFC对话框扫雷程序
- 云台控制程序,八个方向控制云台,
- 数字图像处理 DIB的读取与显示VC源代
- MFC各种重绘漂亮按钮
- 简易打字游戏程序 MFC
-
msxm
l的使用 vc6 - MFC中利用CSocket实现UDP通信
- visual c++的几个经典小游戏
- Ogre与MFC整合,不错的东西
- vc6下编写串口通讯例程
- 局域网视屏监控模块vs2010可运行
- MFC 制作浏览器,基本功能全有,带收
- MFC简单指示灯的实现
评论
共有 条评论