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

📄 mkj.cpp

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

// 控件在源位图上的坐标
extern int kjzbsrc[9][4]={			
	{0,0,31,31},		// 3左右		19
	{31,0,25,30},		// 2上下右		1 3 4
	{56,0,25,30},		// 2上下左		5 6 
	{81,0,25,31},		// 2自上下右	10 11 12 13 15 16
	{106,0,25,31},		// 2自上下左	14 17
	{131,0,31,25},		// 2左右		0 2 7 8 9
	{162,0,30,25},		// 2自左右		18
	{35,0,34,63},		// 工况开关		20
	{0,0,59,56},		// 按钮			21,22,23,24,25,26,27,28
};

// 控件在对话框图上的坐标
extern int kjzbdst[29][2]={
	{175,38},		//1  2左右			0
	{791,13},		//2  2上下右		1
	{119,493},		//3  2左右			2
	{14,337},		//4  2上下右		3
	{14,206},		//5  2上下右		4
	{804,285},		//6  2上下左		5
	{437,409},		//7  2上下左		6
	{100,251},		//8  2左右			7
	{100,292},		//9  2左右			8
	{522,491},		//11 2左右			9
	{676,80},		//v1 2自上下右		10
	{726,80},		//v2 2自上下右		11
	{627,80},		//v3 2自上下右		12
	{332,80},		//v5 2自上下右		13
	{437,225},		//v6 2自上下左		14
	{223,80},		//v7 2自上下右		15
	{279,80},		//v9 2自上下右		16
	{804,374},		//v10  2自上下左	17
	{44,251},		//vt 2自左右		18
	{217,170},		//v8 3				19
	{220,560},		//工况设置			20
	{266,551},		//Sepatator			21
	{336,551},		//Oil pump			22
	{406,551},		//Heater			23
	{476,551},		//Start				24
	{546,551},		//Discharge			25
	{616,551},		//STOP				26
	{686,551},		//Alarm				27
	{756,551}		//故障设置			28
};

CMKJ::CMKJ(CBitmap *bitmap)
{
	m_bitmap=bitmap;
	now=0;
	ischange=0;
	isuse=1;
}

CMKJ::CMKJ(void)
{
	ischange=0;
	now=0;
	isuse=1;
}

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

void CMKJ::Init(CBitmap* bitmap)
{
	m_bitmap=bitmap;
	now=0;
	ischange=0;
	isuse=1;
}

void CMKJ::SetSty(int n)
{
	switch(n) 
	{
	case 19:
		sty=0;
		break;
	case 1:
	case 3:
	case 4:
		sty=1;
		break;
	case 5:
	case 6:
		sty=2;
		break;
	case 10:case 11:case 12:
	case 13:case 15:case 16:
		sty=3;
		break;
	case 14:
	case 17:
		sty=4;
		break;
	case 0:case 2:case 7:
	case 8:case 9:
		sty=5;
		break;
	case 18:
		sty=6;
		break;
	case 20:
		sty=7;
		break;
	case 29:
		sty=9;
		break;
	default:
		sty=8;
	}
	m_point.x=kjzbsrc[sty][0];
	m_point.y=kjzbsrc[sty][1];
	m_Width=kjzbsrc[sty][2];
	m_Height=kjzbsrc[sty][3];
}

void CMKJ::SetNty(int n)
{
	SetSty(n);
	m_rect.left=kjzbdst[n][0];
	m_rect.top=kjzbdst[n][1];
	m_rect.right=m_rect.left+m_Width;
	m_rect.bottom=m_rect.top+m_Height;
}

void CMKJ::ChangeN(void)
{
	if(!isuse) return;
	now=!now;
	ischange=1;
}

void CMKJ::ChangeN(int m)
{
	if(!isuse||m==now) return;
	now=m;
	ischange=1;
}

void CMKJ::Drew(CBitmap* bitmap,CDC *dc)
{
	if(!ischange&&now!=1) return;
	CDC mdc;
	mdc.CreateCompatibleDC(dc);
	if(now)
	{
		mdc.SelectObject(m_bitmap);
		dc->BitBlt(m_rect.left,m_rect.top,m_Width,m_Height,&mdc,m_point.x,m_point.y,SRCCOPY);
	}
	else
	{
		mdc.SelectObject(bitmap);
		dc->BitBlt(m_rect.left,m_rect.top,m_Width,m_Height,&mdc,m_rect.left,m_rect.top,SRCCOPY);
	}
	ischange=0;
}
int CMKJ::ckrect(CPoint point)
{
	return m_rect.PtInRect(point);
}

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

int CMKJ::getischange()
{
	return ischange;
}

void CMKJ::SetUse(int m)
{
	isuse=m;
}

⌨️ 快捷键说明

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