📄 mdh.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 + -