⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showhandcard.h

📁 原子,棋牌游戏源代码,功能齐全,稳定,适合用于棋牌游戏开发
💻 H
字号:
#pragma once

#include "StdAfx.h"
#include "Resource.h"

//扑克花色类型
#define SH_FANG_KUAI	1
#define SH_MEI_HUA		2
#define SH_HONG_TAO		3
#define SH_HEI_TAO		4

//扑克类
class CShowHandCard : public CWnd
{
	//枚举定义
public:
	enum XShowMode { SWX_MODE_LEFT, SWX_MODE_CENTER, SWX_MODE_RIGHT };
	enum YShowMode { SWY_MODE_TOP, SWY_MODE_CENTER, SWY_MODE_BOTTOM }; 

	//变量定义
public:
	int								m_iCardHight;					//扑克高度
	int								m_iCardWidth;					//扑克宽度
	int								m_iCardHSpace;					//扑克间隔

	//变量定义
protected:
	bool							m_bShowFirst;					//显示扑克
	bool							m_bUseMouse;					//响应鼠标
	BYTE							m_bCardCount;					//扑克数目
	CPoint							m_PtBasePoint;					//基准坐标
	XShowMode						m_XShowMode;					//显示模式
	YShowMode						m_YShowMode;					//显示模式
	CByteArray						m_CardArray;					//扑克数组

	//静态变量
protected:
	static bool						m_bInit;						//初始标志
	static HCURSOR					m_hCursor;						//鼠标光标
	static CAFCImage				m_CardPic;						//扑克背景
	static CAFCImage				m_BackPic;						//扑克背景

	//函数定义
public:
	//构造函数
	CShowHandCard();
	//析构函数
	virtual ~CShowHandCard();

	//功能函数
public:
	//获取大小函数
	bool GetCardSize(SIZE & Size);
	//设置是否使用鼠标
	void SetUseMouse(bool bUserMouse);
	//设置是否显示第一张扑克
	void SetShowFirst(bool bShowFirst);
	//排列扑克
	void SortCard();
	//设置扑克
	bool SetCard(BYTE bCardList[], BYTE bCardCount);
	//设置扑克
	BYTE GetCard(BYTE bCardBuffer[], BYTE bBufferLength);
	//设置基准点函数
	void SetBasePoint(POINT & BasePoint, XShowMode XShowMode, YShowMode YShowMode);

	//内部函数
private:
	//获取扑克数值
	BYTE GetCardValoe(BYTE bCard);
	//获取扑克花色
	BYTE GetHuaKind(BYTE bCard) { return (bCard-1)/13; };
	//获取扑克位置
	BYTE GetCardXPos(BYTE bCard) { return (bCard-1)%13; };
	//获取扑克位置
	BYTE GetCardYPos(BYTE bCard) { return (bCard-1)/13; };
	//调整窗口位置
	void FixCardControl();
	//对比单只扑克
	bool CompareOnlyOne(BYTE bFirstCard, BYTE bLastCard);

	//消息函数
protected:
	//重画函数
	afx_msg void OnPaint();
	//右键消息
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	//右键消息
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//设置光标
	afx_msg BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT message);
	//建立消息
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

	DECLARE_MESSAGE_MAP()
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -