• 大小: 1.94MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-21
  • 语言: C/C++
  • 标签: mfc  

资源简介

基于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\GDIobjects.h

     文件       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个文件信息

评论

共有 条评论