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