?? 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 + -