passcardwnd.cpp

来自「原子,棋牌游戏源代码,功能齐全,稳定,适合用于棋牌游戏开发」· C++ 代码 · 共 94 行

CPP
94
字号

// PassCardWnd.cpp : 实现文件
//

#include "stdafx.h"
//#include "YZClient.h"
#include "Resource.h"
#include "PassCardWnd.h"
#include ".\passcardwnd.h"


// CPassCardWnd

IMPLEMENT_DYNAMIC(CPassCardWnd, CWnd)
CPassCardWnd::CPassCardWnd()
{
	AfxSetResourceHandle(GetModuleHandle(CLIENT_DLL_NAME));
	m_ImageBack.SetLoadInfo("tml\\bg3.jpg",CGameImageLink::m_bAutoLock);
	m_ImagePassPic.SetLoadInfo(GetModuleHandle(CLIENT_DLL_NAME),IDB_BITMAP_PASS,CGameImageLink::m_bAutoLock);
	AfxSetResourceHandle(GetModuleHandle(NULL));

	m_ptBasePoint.SetPoint(0,0);
}

CPassCardWnd::~CPassCardWnd()
{
}


BEGIN_MESSAGE_MAP(CPassCardWnd, CWnd)
	ON_WM_PAINT()
	ON_WM_CREATE()
END_MESSAGE_MAP()



// CPassCardWnd 消息处理程序


void CPassCardWnd::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	// TODO: 在此处添加消息处理程序代码
	// 不为绘图消息调用 CWnd::OnPaint()

	CGameImageHelper ImageHandle(&m_ImagePassPic);
	ImageHandle.BitBlt(dc.GetSafeHdc(),0,0);
}


void CPassCardWnd::SetBasePoint(CPoint point)
{
	m_ptBasePoint.x = point.x;
	m_ptBasePoint.y = point.y;

	FixControlSize();
	return;
}

void CPassCardWnd::FixControlSize()
{
	CGameImageHelper ImageHandle(&m_ImagePassPic);
	MoveWindow(m_ptBasePoint.x,m_ptBasePoint.y,ImageHandle.GetWidth(),ImageHandle.GetHeight());
	Invalidate(FALSE);

	//设置区域
	CRgn AllRgn,SingleRgn;
	AllRgn.CreateRectRgn(0,0,ImageHandle.GetWidth(),ImageHandle.GetHeight());
	for (int i = 0;i < ImageHandle.GetWidth();i++)
		for (int j = 0;j < ImageHandle.GetHeight();j++)
		{
			if (ImageHandle.GetPixel(i,j) == RGB(255,255,255))
			{
				SingleRgn.CreateRectRgn(i,j,i+1,j+1);
				AllRgn.CombineRgn(&AllRgn,&SingleRgn,RGN_XOR);
				SingleRgn.DeleteObject();
			}
		}

	SetWindowRgn(AllRgn,TRUE);
	AllRgn.DeleteObject();
	return;
}
int CPassCardWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	// TODO:  在此添加您专用的创建代码

	SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);
	return 0;
}

⌨️ 快捷键说明

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