资源简介
这是基于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 打开word、ppt、pdf文件
- 获取网络时间校正本地系统时间,C
- MFC程序开发之聊天室客户端+服务器源
- MFCC梅尔倒谱参数及matlab代码
- mfc 贪吃蛇游戏 MFC实现贪吃蛇小游戏
- vc++编写的界面源代码
- VC++注册码加密源程序含注册机、解密
- USB 通讯 libusb-win32
- 又一个douglas道格拉斯VC++算法
- 家庭收支管理系统基于VC++ ACCESS数据库
- MFC实现类似Windows绘图的文字输入功能
- 绝对定向mfc源程序
- TCP一对多通信_基于MFC多线程
- 功能非常全的数字图像处理程序含源
- MFC单文档程序连接Access数据库
- 家庭财务系统,可在devc++上直接运行
- 特殊矩阵和压缩存储
- 货品的进销存管理系统,MFC编译
- VC++磁盘MBR读写程序,测试通过
- MFC综合实战项目
- 图像点运算VC++程序
- 生产者消费者算法图形化演示系统
- 摄影测量直接线性变换DLTVC++程序代码
- 用VC++6.0开发监控界面的方法
- MFC 界面编程13个
- MFC入门教程:1天深入浅出MFC
- 摄影测量空间后方交会程序合集,含
- 基于MFC的计算器(功能非常齐全:进
- VegaPrime_MFC
- MFC打开和保存图片
评论
共有 条评论