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

📄 mdh.cpp

📁 为朋友编写的 分油机运行工况仿真程序 采用MFC编写
💻 CPP
字号:
#include "StdAfx.h"
#include ".\mdh.h"

//动画参数
extern int dhcs[10][7]={	//动画数,起点坐标 x y,宽,高,x偏移,y偏移
	{2,0,0,47,47,47,0},	//泵		0
	{3,0,0,35,7,0,7},	//蓝右左	11
	{3,35,0,7,35,7,0},	//蓝上下	9 12 13 14 20
	{3,0,42,35,7,0,7},	//浅蓝右左	8 16 17
	{3,35,35,7,35,7,0},	//浅蓝上下	6 7 19
	{3,42,70,35,7,0,7},	//黄右左	-
	{3,0,84,7,35,7,0},	//黄上下	15
	{3,42,112,35,7,0,7},//黑右左	1 2 3 10
	{3,0,119,7,35,7,0},	//黑上下	4 5 
	{2,0,0,22,23,22,0}	//			18
};

// 动画在对话框图上的坐标
extern int dhzbdst[21][2]={
	{0,420},		//0		0
	{50,197},		//7		1
	{85,474},		//7		2
	{90,370},		//7		3
	{43,314},		//8		4
	{245,260},		//8		5
	{200,80},		//4		6
	{275,265},		//4		7
	{340,250},		//3		8
	{425,267},		//2		9
	{396,165},		//7		10
	{464,210},		//1		11
	{604,64},		//2		12
	{690,215},		//2		13
	{745,230},		//2		14
	{785,270},		//6		15
	{129,236},		//3		16
	{129,322},		//3		17
	{645,325},		//告警灯18
	{130,2},		//4		19
	{827,2}			//2		20
};

CMDH::CMDH(void)
{
	now=0;
}

CMDH::CMDH(CBitmap *bitmap)
{
	m_bitmap=bitmap;
	now=0;
}

CMDH::~CMDH(void)
{
	m_bitmap=NULL;
}

void CMDH::ChangeN(void)
{
	if(sty==0)
		now=!now;
	m_n=0;
}

void CMDH::ChangeN(int m)
{
	now=m;
	m_n=0;
}

void CMDH::SetSty(int m)
{
	switch(m) {
	case 0:
		sty=0;
		break;
	case 11:
		sty=1;
		break;
	case 9:case 12:case 20:
	case 13:case 14:
		sty=2;
		break;
	case 8:case 16:case 17:
		sty=3;
		break;
	case 6:case 7:case 19:
		sty=4;
		break;
	case 15:
		sty=6;
		break;
	case 1:case 2:
	case 3:case 10:
		sty=7;
		break;
	case 18:
		sty=9;
		break;
	default:
		sty=8;
	}
	m_n=0;
	m_dn=dhcs[sty][0];

}

void CMDH::SetNty(int m)
{
	SetSty(m);
	nty=m;
}

void CMDH::Drew(CBitmap *bitmap,CDC *dc)
{
	CDC mdc;
	mdc.CreateCompatibleDC(dc);
	if(now==0)
	{
		mdc.SelectObject(bitmap);
		dc->BitBlt(dhzbdst[nty][0],dhzbdst[nty][1],dhcs[sty][3],dhcs[sty][4],&mdc,dhzbdst[nty][0],dhzbdst[nty][1],SRCCOPY);
	}
	else if(now==1)
	{
		mdc.SelectObject(m_bitmap);
		dc->BitBlt(dhzbdst[nty][0],dhzbdst[nty][1],dhcs[sty][3],dhcs[sty][4],&mdc,dhcs[sty][1]+dhcs[sty][5]*m_n,dhcs[sty][2]+dhcs[sty][6]*m_n,SRCCOPY);
	}
	else if(now==-1)
	{
		mdc.SelectObject(m_bitmap);
		dc->BitBlt(dhzbdst[nty][0],dhzbdst[nty][1],dhcs[sty][3],dhcs[sty][4],&mdc,dhcs[sty][1]+dhcs[sty][5]*(m_n+3),dhcs[sty][2]+dhcs[sty][6]*(m_n+3),SRCCOPY);
	}
	else if(now==2)
	{
		mdc.SelectObject(m_bitmap);
		dc->BitBlt(dhzbdst[nty][0],dhzbdst[nty][1],dhcs[sty][3],dhcs[sty][4],&mdc,dhcs[sty][1]+dhcs[sty][5]*2,dhcs[sty][2]+dhcs[sty][6]*2,SRCCOPY);
	}
	m_n==(m_dn-1)?m_n=0:m_n++;
}

void CMDH::Init(CBitmap* bitmap)
{
	m_bitmap=bitmap;
	now=0;
}

int CMDH::GetN()
{
	return now;
}

⌨️ 快捷键说明

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