📄 cdrawstripchart.h
字号:
// CDrawStripChart.h: interface for the CDrawStripChart class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CDRAWSTRIPCHART_H__F8185ED4_A3EB_4B37_8674_E12D10C983A7__INCLUDED_)
#define AFX_CDRAWSTRIPCHART_H__F8185ED4_A3EB_4B37_8674_E12D10C983A7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Value
{
public:
COleDateTime m_DataTime;
float m_value;
};
class XYValue
{
public:
int m_iYMax;//最大值
int m_iYMin;//最小值
//int XSpan;//X轴范围
int m_Timelevel;//时间等级 0:毫秒;1:秒;2:分钟;3:小时;4:天;5:月;
long m_color;//颜色
long m_Visibled;//是否可见
long m_lineWidth;//线宽
long m_lineType;//线型 0:直线;1:点;
long m_Excursion;//曲线偏移
CArray<Value,Value> m_ArrayValue;
public:
XYValue()
{
m_iYMax=0;//最大值
m_iYMin=0;//最小值
m_Timelevel=1;//时间等级 0:毫秒;1:秒;2:分钟;3:小时;4:天;5:月;
m_color=0;//颜色
m_Visibled=1;//是否可见
m_lineWidth=0;//线宽
m_lineType=0;//线型 0:直线;1:点;
m_Excursion=0;//曲线偏移
m_ArrayValue.SetSize(0);
}
virtual ~XYValue()
{
}
void Add(COleDateTime DataTime,float value)
{
Value m_Value;
m_Value.m_DataTime = DataTime;
m_Value.m_value = value;
m_ArrayValue.Add(m_Value);
}
};
class CDrawStripChart
{
public:
CDrawStripChart();
virtual ~CDrawStripChart();
//*************************************
void SetLinearGaugeNum(int iNum);//设置标尺数量
//int GetLinearGaugeNum();//设置标尺数量
void SetLinearGaugeValueCount(int index,int iCount);//设置index的X标尺的值的数量=游标的数量
void SetRulerParm(int index,long iMax,long iMin,long imajortics,long iminortics);//设置index的X标尺的参数
void SetValueParm(int index,int ValueIndex,COLORREF valueColor,float value);//设置index的X标尺ValueIndex的参数
//*************************************
void SetStyle(int Style);//设置曲线控件的方向:纵向、横向
int GetStyle();
void SetRect(RECT rc,COLORREF BkColor);
void SetX(int iXmajortics,int iXminortics,COLORREF XmajorticsColor,COLORREF XminorticsColor,int XSpan);//设置x轴主/分划线的数量以及颜色
void SetY(int iYmajortics,int iYminortics,COLORREF YmajorticsColor,COLORREF YminorticsColor);//设置Y轴主/分划线的数量以及颜色
void SetXYCount(int count);//设置曲线数组大小(有几个曲线数组)
int GetXYCount();
//void SetXY(int Index,int iYMax,int iYMin);//设置曲线数组//,int iYDisplayMax,int iYDisplayMin);
//void AddXY(int index,int iYMax,int iYMin,int XSpan,int Timelevel,long color,long Visibled,long lineWidth,long lineType,long Excursion,COleDateTime DateTime,long value);
void AddXY(int index,int iYMax,int iYMin,int Timelevel,long color,long Visibled,long lineWidth,long lineType,long Excursion,COleDateTime DateTime,float value);
void SetCursorPoint(CPoint point);
void SetLinearGaugeVisibled(int index,int iFlag);
long GetLinearGaugeVisibled(int index);
void setOffTime(long offtime);
void SetClickPoint(CPoint point,int clickFlag);
void AddXYValue(int index,COleDateTime DateTime,float value);
void SetXYPrt(int index,int iYMax,int iYMin,int Timelevel,long color,long Visibled,long lineWidth,long lineType,long Excursion);
void SetLGParm(int index,int ValueIndex,COLORREF valueColor);
void SetLGValue(int index,int ValueIndex,long value);
//*************************************
void DrawY(HDC hDC);
void DrawX(HDC hDC,long offx);
void Draw(HDC pDC);
void DrawRect(HDC hDC);
void DrawLGRect(HDC hDC);
void DrawGridRect(HDC hDC);
void DrawCurve(HDC hDC);
void DrawCursor(HDC hDC);
//*************************************
public:
CArray<CDrawLinearGauge,CDrawLinearGauge> m_arrayLinearGauge;
CArray<XYValue,XYValue> m_ArrayXYValue;
CArray<float,float> m_ArrayOutValue;
//CArray<Value,Value> m_ArrayValue;
int m_Orientation;//曲线方向0:左至右,1:右至左,2上至下,3下至上
RECT m_CtlRect;
RECT m_rect;
RECT m_GridRect;
RECT m_LGRect;
COLORREF m_BkColor;//背景色
COLORREF m_LGBkColor;//背景色
COLORREF m_GridBkColor;//背景色
long m_Style;//标尺类型,//0:百分比填充,1标尺;
long m_rulerStyle;//标尺文字显示方式 0不显示,1左/上,2右/下,3左右/上下,4,中/左,5,中/右
int m_iXmajortics;
int m_iXminortics;
COLORREF m_XmajorticsColor;
COLORREF m_XminorticsColor;
int m_XSpan;//Y轴范围
int m_iYmajortics;
int m_iYminortics;
COLORREF m_YmajorticsColor;
COLORREF m_YminorticsColor;
CPoint m_Point;
CPoint m_ClickPoint;
long m_offTime;//断线时间:两点之间相隔多久为断线,moveto 默认60秒
long m_offValue;//断线值:超过多少值为断线,moveto 默认2000
int m_iDrawCursorFlag;
int m_clickFlag;
COleDateTime m_LastDt;
COleDateTime m_curDt;
};
#endif // !defined(AFX_CDRAWSTRIPCHART_H__F8185ED4_A3EB_4B37_8674_E12D10C983A7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -