資源簡介
本程序設計的是一款翻牌類游戲,運行后會出現一個界面,當你鼠標去點擊圖片的時候,如果連續出現3個一樣的圖片,者圖片顯示出來,否則圖片又重新蓋上。

代碼片段和文件信息
#include?“Bitmap.h“
Bitmap::Bitmap(HDC?hDC?LPTSTR?szFileName)?:?m_hBitmap(NULL)?m_iWidth(0)?m_iHeight(0)
{
LoadFromFile(hDC?szFileName);
}
//?Create?a?bitmap?from?a?resource
Bitmap::Bitmap(HDC?hDC?UINT?uiResID?HINSTANCE?hInstance):?m_hBitmap(NULL)?m_iWidth(0)?m_iHeight(0)
{
Create(hDC?uiResID?hInstance);
}
Bitmap::Bitmap(HDC?hDC?int?iWidth?int?iHeight?COLORREF?crColor):?m_hBitmap(NULL)?m_iWidth(0)?m_iHeight(0)
{
Create(hDC?iWidth?iHeight?crColor);
}
Bitmap::~Bitmap()
{
Free();
}
void?Bitmap::Free()
{
if?(m_hBitmap?!=?NULL)
{
Deleteobject(m_hBitmap);
m_hBitmap?=?NULL;
}
}
BOOL?Bitmap::LoadFromFile(HDC?hDC?LPTSTR?szFileName)
{
Free();
HANDLE?hFile?=?CreateFile(
szFileName?
GENERIC_READ?
FILE_SHARE_READ?
NULL
OPEN_EXISTING?
FILE_ATTRIBUTE_NORMAL?
NULL
);
if(hFile?==?INVALID_HANDLE_VALUE)
return?false;
BITMAPFILEHEADER?bmfHeader;//位圖文件頭信息
DWORD?dwBytesRead;
int?bval?=?ReadFile(hFile?&bmfHeadersizeof(BITMAPFILEHEADER)&dwBytesRead?NULL);
if(?(!bval)?||?(dwBytesRead!=sizeof(BITMAPFILEHEADER))?||?(bmfHeader.bfType!=0x4D42))
{
CloseHandle(hFile);
Free();
return?false;
}
BITMAPINFO?bmi;
bval?=?ReadFile(hFile?&bmi?sizeof(BITMAPINFOHEADER)?&dwBytesRead?NULL);
if(?(!bval)?||?(dwBytesRead!=sizeof(BITMAPINFOHEADER)))
{
CloseHandle(hFile);
Free();
return?false;
}
m_iWidth?=?(int)bmi.bmiHeader.biWidth;
m_iHeight?=?(int)bmi.bmiHeader.biHeight;
m_hBitmap?=?(HBITMAP)LoadImage(NULL?szFileName?IMAGE_BITMAP?00LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(m_hBitmap?==?NULL)
return?false;
return?true;
}
BOOL?Bitmap::Create(HDC?hDC?int?iWidth?int?iHeight?COLORREF?crColor)
{
m_hBitmap?=?CreateCompatibleBitmap(hDC?iWidth?iHeight);
if?(m_hBitmap?==?NULL)
return?false;
m_iWidth?=?iWidth;
m_iHeight?=?iHeight;
HDC?hMemDC?=?CreateCompatibleDC(hDC);
HBRUSH?hBrush?=?CreateSolidBrush(crColor);
HBITMAP?hOldBitmap?=?(HBITMAP)Selectobject(hMemDC?m_hBitmap);
RECT?rcBitmap?=?{?0?0?m_iWidth?m_iHeight?};
FillRect(hMemDC?&rcBitmap?hBrush);
Selectobject(hMemDC?hOldBitmap);
DeleteDC(hMemDC);
Deleteobject(hBrush);
return?true;
}
void?Bitmap::Draw(HDC?hDC?int?x?int?y)
{
if?(m_hBitmap?!=?NULL)
{
HDC?hMemDC?=?CreateCompatibleDC(hDC);
HBITMAP?hOldBitmap?=?(HBITMAP)Selectobject(hMemDC?m_hBitmap);
BitBlt(hDC?x?y?m_iWidth?m_iHeight?hMemDC?0?0?SRCCOPY);
Selectobject(hMemDC?hOldBitmap);
DeleteDC(hMemDC);
}
}
void?Bitmap::Draw(HDC?hDC?int?x?int?y?bool?bTrans?COLORREF?crTransColor)
{
DrawPart(hDC?x?y?00GetWidth()?GetHeight()?bTrans?crTransColor);
}
void?Bitmap::DrawPart(HDC?hDC?int?x?int?y?int?xPart?int?yPartint?wPart?int?hPart?bool?bTrans?COLORREF?crTransColor)
{
if?(m_hBitmap?!=?NULL)
{
HDC?hMemDC?=?CreateCompatibleDC(hDC);
HBITMAP?hOldBitmap?=?(HBITMAP)Selectobject(hMemDC
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4040??2010-12-03?18:38??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\蘭俊峰.vcproj
?????文件???????1423??2010-12-03?18:43??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\蘭俊峰.vcproj.lanjunfeng-PC.lanjunfeng.user
?????文件???????4796??2010-08-17?21:37??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Bitmap.cpp
?????文件???????1001??2010-08-17?21:37??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Bitmap.h
?????文件???????7738??2010-12-03?18:43??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Brainiac.cpp
?????文件???????6438??2010-12-03?18:40??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\BuildLog.htm
?????文件????????663??2010-12-03?18:38??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\蘭俊峰.exe.em
?????文件?????404480??2010-12-03?18:40??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\vc90.idb
?????文件?????118784??2010-12-03?18:40??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\vc90.pdb
?????文件??????37742??2010-12-03?18:38??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\Bitmap.obj
?????文件????????728??2010-12-03?18:38??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\蘭俊峰.exe.em
?????文件????????621??2010-12-03?18:40??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\蘭俊峰.exe.intermediate.manifest
?????文件?????????65??2010-12-03?18:40??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\mt.dep
?????文件??????29432??2010-12-03?18:40??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Debug\Brainiac.obj
?????文件??????49208??2010-12-03?18:28??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片12.bmp
?????文件??????49208??2010-12-03?18:25??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片1.bmp
?????文件??????49208??2010-12-03?18:25??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片2.bmp
?????文件??????49208??2010-12-03?18:26??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片3.bmp
?????文件??????49208??2010-12-03?18:26??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片4.bmp
?????文件??????49208??2010-12-03?18:26??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片5.bmp
?????文件??????49208??2010-12-03?18:27??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片6.bmp
?????文件??????49208??2010-12-03?18:27??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片7.bmp
?????文件??????49208??2010-12-03?18:27??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片8.bmp
?????文件??????49208??2010-12-03?18:28??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片9.bmp
?????文件??????49208??2010-12-03?18:28??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片10.bmp
?????文件??????49208??2010-12-03?18:28??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\圖片11.bmp
?????文件??????49206??2010-11-01?00:20??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰\Res\TileBlank.bmp
?????文件????7719936??2010-12-03?18:43??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰.ncb
?????文件????????893??2010-12-03?18:34??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰.sln
????..A..H.??????8192??2010-12-03?18:43??蘭俊峰?015(翻牌)\蘭俊峰\蘭俊峰.suo
............此處省略12個文件信息
- 上一篇:MFC 版俄羅斯方塊
- 下一篇:MFC編寫的圖書管理系統,用到數據庫SQL
評論
共有 條評論