资源简介
基于MFC的扫雷设计,对于那些刚刚接触mfc的初学者来说是很好的例子,值得一看!
代码片段和文件信息
#include “StdAfx.h“
#include “Resource.h“
#include “LandMine.h“
extern CPen Pen1Pen2Pen3Pen4Pen5Pen6Pen7;
void CMineButton::DrawItem(BOOL bFail)
{
RECT rect;
rect.left = m_nX;
rect.top = m_nY;
rect.right = m_nX+14;
rect.bottom = m_nY+14;
CClientDC ClientDC(m_pParent);
ClientDC.SetBkColor(RGB(198198198));
ClientDC.SelectStockobject(LTGRAY_BRUSH);
ClientDC.Selectobject(Pen6);
ClientDC.Rectangle(&rect);
if(m_nStatus==MS_OPEN || bFail && m_nStatus==MS_FLAG && m_nMineNum>=0)
{
switch(m_nMineNum)
{
case 1:
ClientDC.SetTextColor(RGB(01280));
break;
case 2:
ClientDC.SetTextColor(RGB(0128128));
break;
case 3:
ClientDC.SetTextColor(RGB(00128));
break;
case 4:
ClientDC.SetTextColor(RGB(01280));
break;
case 5:
ClientDC.SetTextColor(RGB(12800));
break;
case 6:
ClientDC.SetTextColor(RGB(02550));
break;
case 7:
ClientDC.SetTextColor(RGB(1281280));
break;
case 8:
ClientDC.SetTextColor(RGB(2550255));
break;
}
char cTmp[2]={00};
if(m_nMineNum>0)
{
cTmp[0]=m_nMineNum+‘0‘;
ClientDC.DrawText(cTmp-1&rectDT_CENTER|DT_VCENTER);
}
int nI;
ClientDC.Selectobject(Pen6);
ClientDC.SetBkColor(RGB(198198198));
ClientDC.SelectStockobject(NULL_BRUSH);
ClientDC.Rectangle(rect.leftrect.toprect.right+1rect.bottom+1);
for(nI=rect.left;nI ClientDC.SetPixel(nIrect.bottom+1RGB(000));
for(nI=rect.top;nI ClientDC.SetPixel(rect.right+1nIRGB(000));
if(bFail && m_nStatus==MS_FLAG && m_nMineNum!=-1)
{
ClientDC.Selectobject(Pen4);
ClientDC.MoveTo(rect.left+1rect.top+1);
ClientDC.LineTo(rect.right-1rect.bottom-1);
ClientDC.MoveTo(rect.right-1rect.top+1);
ClientDC.LineTo(rect.left+1rect.bottom-1);
}
return;
}
if(bFail==1 && m_nMineNum==-1)
{
CBitmap Bitmap;
if(m_nStatus!=MS_EXPLODE)
Bitmap.LoadBitmap(IDB_MINE);
else
Bitmap.LoadBitmap(IDB_MINEEXPLODE);
// draw the whole button
CDC memDC;
memDC.CreateCompatibleDC(&ClientDC);
CBitmap* pOld = memDC.Selectobject(&Bitmap);
if (pOld == NULL)
return; // destructors will clean up
ClientDC.BitBlt(rect.left rect.top1616
&memDC 0 0 SRCCOPY);
memDC.Selectobject(pOld);
int nI;
for(nI=rect.left;nI ClientDC.SetPixel(nIrect.bottom+1RGB(000));
for(nI=rect.top;nI ClientDC.SetPixel(rect.right+1nIRGB(000));
return;
}
if (m_nStatus == MS_QUEST)
{
ClientDC.SetTextColor(RGB(00128));
ClientDC.SetBkColor(RGB(198198198));
ClientDC.DrawText(“?“1&rectDT_CENTER|DT_VCENTER);
}
else
{
if(m_nStatus == MS_FLAG)
{
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_FLAG);
// draw the whole button
CDC memDC;
memDC.CreateCompatibleDC(&ClientDC);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 322 1999-02-13 19:27 扫雷VC++ MFC\bitmap1.bmp
文件 358 1999-02-05 22:38 扫雷VC++ MFC\bitmap2.bmp
文件 358 1999-02-15 22:50 扫雷VC++ MFC\bitmap3.bmp
文件 358 1999-02-05 22:38 扫雷VC++ MFC\bitmap4.bmp
文件 322 1999-02-13 19:26 扫雷VC++ MFC\bmp00001.bmp
文件 238 1999-02-13 20:23 扫雷VC++ MFC\bmp00002.bmp
文件 358 1999-02-18 20:38 扫雷VC++ MFC\bmp00003.bmp
文件 35779 2012-06-14 19:25 扫雷VC++ MFC\Debug\LandMine.obj
文件 135239 2012-06-14 19:25 扫雷VC++ MFC\Debug\Mine.exe
文件 270768 2012-06-14 19:25 扫雷VC++ MFC\Debug\Mine.ilk
文件 19056 2012-06-14 19:17 扫雷VC++ MFC\Debug\Mine.obj
文件 5479804 2012-06-14 19:17 扫雷VC++ MFC\Debug\Mine.pch
文件 336896 2012-06-14 19:17 扫雷VC++ MFC\Debug\Mine.pdb
文件 5508 2012-06-14 19:17 扫雷VC++ MFC\Debug\Mine.res
文件 82732 2012-06-14 19:17 扫雷VC++ MFC\Debug\MineDlg.obj
文件 105599 2012-06-14 19:17 扫雷VC++ MFC\Debug\StdAfx.obj
文件 205824 2012-06-14 19:25 扫雷VC++ MFC\Debug\vc60.idb
文件 356352 2012-06-14 19:17 扫雷VC++ MFC\Debug\vc60.pdb
文件 288 1999-02-07 14:57 扫雷VC++ MFC\GDIob
文件 1078 1999-02-05 22:38 扫雷VC++ MFC\icon1.ico
文件 17768 2012-06-14 19:17 扫雷VC++ MFC\LandMine.cpp
文件 2466 1999-02-18 20:10 扫雷VC++ MFC\LandMine.h
文件 322 1999-02-13 19:27 扫雷VC++ MFC\Mine\bitmap1.bmp
文件 358 1999-02-05 22:38 扫雷VC++ MFC\Mine\bitmap2.bmp
文件 358 1999-02-15 22:50 扫雷VC++ MFC\Mine\bitmap3.bmp
文件 358 1999-02-05 22:38 扫雷VC++ MFC\Mine\bitmap4.bmp
文件 322 1999-02-13 19:26 扫雷VC++ MFC\Mine\bmp00001.bmp
文件 238 1999-02-13 20:23 扫雷VC++ MFC\Mine\bmp00002.bmp
文件 358 1999-02-18 20:38 扫雷VC++ MFC\Mine\bmp00003.bmp
文件 57344 1999-03-26 21:37 扫雷VC++ MFC\Mine\Debug\Mine.exe
............此处省略51个文件信息
相关资源
- c++图书馆管理系统(MFC)
- mfc简单画图拖动,缩放,移动图形
- MFC42UD.libMFCd42UD.libMFCN42UD.libMFC042UD.li
- MFC做的电影订票小系统
- MFC编写简易文本编辑器
- v4l2 视频编码
- 基于MFC的VC++俄罗斯方块程序源代码
- 原创MFC+WinpCap网络嗅探器sniffer
- 基于MFC的简易计算器表达式解析
- 用MFC编写的绘画程序
- MFC实现DES加密解密实现
- SMTP邮件发送MFC、VC++
- mfc odbc access 数据库操作增,删,减,
- C++视频聊天
- MFC_学生管理系统104735
- MFC制作的风车可以控制叶片大小和旋
- MFC画图,温度和湿度曲线含源码
- MFC+SQL实现资源管理系统
- RSA加密算法用MFC实现
- 基于MFC的计算器
- MFC入门绘图程序,可以实现Window环境
- 考勤管理系统 mfc C++课程设计(附数据
- 人事管理系统 mfc C++课程设计(附数据
- vc计算器源代码支持各种进制正余弦的
- 简单的学生管理系统源码MFC
- VC+MFC 托盘图标闪烁与消息提示
- VC++MFC学生管理系统
- MFC画图板绘图并保存图片导出
- mfc实现学生信息管理系统
- MFC版的一个简单作业调度系统
评论
共有 条评论