📄 basegr.h
字号:
// BaseGr.h: interface for the CBaseGr class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_BASEGR_H__294D2D16_1BAA_11D6_80E0_5254AB372662__INCLUDED_)
#define AFX_BASEGR_H__294D2D16_1BAA_11D6_80E0_5254AB372662__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <Afxtempl.h>
#define PI 3.14159265358979324
class CBaseGr
{
public:
CBaseGr();
virtual ~CBaseGr();
enum PointType {CIRCLE,RECTANGLE,DIAMOND,TRIANGLE,FCIRCLE,FRECTANGLE,FDIAMOND,FTRIANGLE,FIRE,CROSS,XCROSS};
enum Align {LEFT,RIGHT,TOP,BOTTOM,ON,NONE};
enum GraphType {LINE,BAR,PIE};
enum Position {VER,HOR};
public:
void SetXName(CString strXName) {XName = strXName;}
void SetYName(CString strYName) {YName = strYName;}
void SetYMin(int nYMin) {YMin = nYMin;}
void SetYMax(int nYMax) {YMax = nYMax;}
void SetXMin(int nXMin) {XMin = nXMin;}
void SetXMax(int nXMax) {XMax = nXMax;}
void SetTitle(CString strTitle) {Title = strTitle;}
void SetLegend(CString Name,double Value=0.0,COLORREF FillColor=RGB(255,0,0),PointType GraphMode=RECTANGLE,int LineSize=1,COLORREF LineColor=RGB(0,0,0));
virtual void DrawLine(CDC* pDC,POINT FromPoint,POINT ToPoint,int LineSize=1,COLORREF LineColor=RGB(0,0,0));
virtual void DrawDashLine(CDC* pDC,POINT FromPoint,POINT ToPoint,int LineSize=1,COLORREF LineColor=RGB(128,128,128));
virtual void DrawLine(CDC* pDC,int fpx,int fpy,int tpx,int tpy,int LineSize=1,COLORREF LineColor=RGB(0,0,0));
virtual void DrawDashLine(CDC* pDC,int fpx,int fpy,int tpx,int tpy,int LineSize=1,COLORREF LineColor=RGB(128,128,128));
virtual void DrawRectangle(CDC* pDC,POINT LeftTop,POINT RightBottom,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawRectangle(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawPolygon(CDC* pDC,LPPOINT lpPoints,int nPointCounts,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawArc(CDC* pDC,POINT pCoC,int nRadius,double AngleS,double AngleE,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawArc(CDC* pDC,int pCoCx,int pCoCy,int nRadius,double AngleS,double AngleE,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawColumn(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy,int Height,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawCub(CDC* pDC,int Face1x,int Face1y,int Face2x,int Face2y,int Height,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawPoint(CDC* pDC,int x,int y,PointType Mode=CIRCLE,int Radius=5,int LineSize=1,COLORREF LineColor=RGB(0,0,0),COLORREF FillColor=RGB(255,255,255));
virtual void DrawCoordinate(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy,BOOL WithDash=FALSE);
virtual void DrawYCoordinateValue(CDC* pDC,int Startx,int Starty,CString Value,Align Mode=LEFT,COLORREF FontColor=RGB(0,0,255));
virtual void DrawYName(CDC* pDC,int Startx,int Starty,CString Value,Align Mode=LEFT,COLORREF FontColor=RGB(0,0,0));
// virtual void DrawXCoordinate(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy,GraphType Mode=BAR,Align AlignMode=ON,BOOL WithDash=FALSE);
virtual void DrawXCoordinateValue(CDC* pDC,int Startx,int Starty,CString Value,Position Pos=VER,COLORREF FontColor=RGB(0,0,0));
virtual void DrawXName(CDC* pDC,int Startx,int Starty,CString Value,Align Mode=BOTTOM,COLORREF FontColor=RGB(0,0,0));
virtual void DrawTitle(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy,Align Mode=NONE,COLORREF FontColor=RGB(0,0,0));
virtual void DrawLegend(CDC* pDC,int Startx,int Starty,int Width=30,Align Mode=TOP,COLORREF FontColor=RGB(0,0,0));
virtual void DrawContent(CDC* pDC,int LeftTopx,int LeftTopy,int RightBottomx,int RightBottomy);
protected:
CString XName;
CString YName;
int YMin;
int YMax;
int XMin;
int XMax;
CString Title;
struct LegendGraph
{
PointType GraphMode;
int LineSize;
COLORREF LineColor;
COLORREF FillColor;
};
struct Legend
{
LegendGraph Graph;
CString Name;
double Value;
};
CArray<Legend,Legend&> m_Legend;
};
#endif // !defined(AFX_BASEGR_H__294D2D16_1BAA_11D6_80E0_5254AB372662__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -