资源简介
这是基于MFC 写的windows 附带纸牌

代码片段和文件信息
// ChildView.cpp : CChildView 类的实现
//
#include “stdafx.h“
#include “sol.h“
#include “ChildView.h“
#include
#define TOP_TOP 4
#define BOTTOM_TOP 107
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CChildView
CChildView::CChildView()
: m_nPkCount(0)
m_isGameOver(false)
{
}
CChildView::~CChildView()
{
}
BEGIN_MESSAGE_MAP(CChildView CWnd)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_RBUTTONUP()
ON_COMMAND(ID_POKERFLOP &CChildView::OnPokerflop)
ON_MESSAGE(WM_PK_LBPRESS OnPokerLBPress)
ON_WM_ERASEBKGND()
ON_WM_TIMER()
ON_COMMAND(ID_AC_ESC &CChildView::OnAcEsc)
END_MESSAGE_MAP()
// CChildView 消息处理程序
//状态栏计秒
extern UINT ncTime;
//键盘钩子
HHOOK g_hMouse = NULL;
CWnd* pWnd = NULL;
LRESULT CALLBACK MouseProc(int nCode WPARAM wParam LPARAM lParam)
{
if (wParam >=WM_LBUTTONDOWN && wParam <= WM_MBUTTONDBLCLK) {
dynamic_cast(pWnd)->GameOver();
return true;
}
return CallNextHookEx(g_hMouse nCode wParam lParam);
}
//
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS
::LoadCursor(NULL IDC_ARROW) CreateSolidBrush(RGB(0 128 0)) NULL);
return TRUE;
}
//
int CChildView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
//--------创建-------纸牌
m_aPoker[0].Create(this 0 11 TOP_TOP 56 53);
m_aPoker[0].m_iGroup = 0;
for (int j = 1; j <= 52; j++) {
m_aPoker[j].Create(thisj -71 -96 j 55);
}
//------初化放牌位置top---
for(int i = 2; i < 9; i++) {
m_aPos[i].SetTop(BOTTOM_TOP);
}
m_aPos[0].SetTop(TOP_TOP);
m_aPos[1].SetTop(TOP_TOP);
for (int i = 9; i < 13; i++) {
m_aPos[i].SetTop(TOP_TOP);
m_acsTop[i-9].Create(NULL WS_CHILD| WS_VISIBLE | SS_BITMAP | WS_CLIPSIBLINGSm_aPos[i].rect this);
m_acsTop[i-9].SetBitmap(::LoadBitmap(::AfxGetInstanceHandle() MAKEINTRESOURCE(57)));
}
InitialPoker();
return 0;
}
//
BOOL CChildView::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
switch(pMsg->message)
{
case WM_LBUTTONDBLCLK:
return !PokerLDClk(::GetDlgCtrlID(pMsg->hwnd));
break;
//这里处理问题多多
//case WM_LBUTTONDOWN:
//
// break;
//case WM_LBUTTONUP:
//
// break;
case WM_RBUTTONUP:
SendMessage(WM_RBUTTONUP);
return true;
break;
}
return CWnd::PreTranslateMessage(pMsg);
}
// 根据窗口的宽设置放牌的位置
void CChildView::SetPosLeft(int nWidth)
{
if (nWidth < 585 || m_isGameOver) {
return;
}
int interval = (nWidth - PK_WIDTH * 7) / 8;
for(int i = 2; i < 9; i++) {
m_aPos[i].SetLeft((i - 1) * interval + (i - 2) * PK_WIDTH);
}
m_aPos[0].SetLeft(interval);
m_aPos[1].SetLeft(interval * 2 + PK_WIDTH);
for (int i = 9; i < 13; i++) {
m_aPos[i].SetLeft((i - 5) * interval + (i - 6) * PK_WIDTH);
m_acsTop[i-9].MoveWindow(m_aPos[i].GetLef
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-11-22 19:55 sol\
目录 0 2010-11-22 14:50 sol\debug\
目录 0 2010-11-22 19:53 sol\release\
文件 401408 2010-11-22 19:52 sol\release\sol.exe
目录 0 2010-11-22 19:53 sol\sol\
文件 15623 2010-11-22 19:52 sol\sol\ChildView.cpp
文件 1566 2010-11-22 18:24 sol\sol\ChildView.h
目录 0 2010-11-22 14:51 sol\sol\Debug\
文件 2883 2010-11-22 14:47 sol\sol\MainFrm.cpp
文件 850 2010-11-22 14:48 sol\sol\MainFrm.h
文件 2989 2010-11-22 14:27 sol\sol\Poker.cpp
文件 1104 2010-11-22 14:43 sol\sol\Poker.h
文件 425 2010-11-16 11:36 sol\sol\Pos.cpp
文件 326 2010-11-15 21:30 sol\sol\Pos.h
文件 2252 2010-11-14 22:13 sol\sol\ReadMe.txt
目录 0 2010-11-22 19:53 sol\sol\Release\
目录 0 2010-11-14 22:59 sol\sol\res\
目录 0 2010-11-22 19:51 sol\sol\res\pic\
文件 3574 2010-11-15 13:22 sol\sol\res\pic\1.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\10.bmp
文件 3574 2010-11-15 13:22 sol\sol\res\pic\11.bmp
文件 3574 2010-11-15 13:22 sol\sol\res\pic\12.bmp
文件 3574 2010-11-15 13:22 sol\sol\res\pic\13.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\14.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\15.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\16.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\17.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\18.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\19.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\2.bmp
文件 1214 2010-11-15 13:22 sol\sol\res\pic\20.bmp
............此处省略58个文件信息
- 上一篇:rsa签名 C语言实现
- 下一篇:罗德里格斯变换-scilab代码
相关资源
- 基于MFC的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC++实现CMD命令执行与获得返回信息
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- VC++基于OpenGL模拟的一个3维空间模型
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- 基于VC++的SolidWorks二次开发SolidWorks
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- 派克变换VC++源码(附文档)
- VC++ 串口
- MFC五子棋游戏
- VC++ 大富翁4_大富翁游戏源码
- MFC UDP编程
- MFC的异步网络通讯应用程序
- VC++ 摄像头视频采集与回放源程序
- C++MFC模块讲解,黑发程序员课程整理
- 转 VC++ 实现电子邮件(Email)发送
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
评论
共有 条评论