📄 chartbase.h
字号:
// DrawBase.h: interface for the CChartBase class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DRAWBASE_H__8EB56351_FD79_11D3_BE3B_00105A86943C__INCLUDED_)
#define AFX_DRAWBASE_H__8EB56351_FD79_11D3_BE3B_00105A86943C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "tchart.h"
#include "TipDlg.h"
// 作图类别常数
#define CHART_CIRCLE 0x01 // 圆类型
#define CHART_AXIS 0x02 // 轴类型
#define CHART_DIST 0x03 // 分布类型
#define CHART_3D 0x04 // 三维类型
class CToolTipWnd;
class CChartBase : public CTChart
{
public:
CChartBase();
DECLARE_DYNCREATE(CChartBase)
virtual ~CChartBase();
BOOL Create(DWORD dwStyle, const RECT& rect, UINT uiID, CWnd* pParentWnd, CString Caption);
virtual void AddData(long SeriesIndex, double x, double y, COLORREF color = RGB(0, 0, 255)); // 增加绘图数据
virtual void ShowCursor(); // 显示光标
void DrawScale(long X, long Y); // 绘制游标
void CalcValueRgn(CRect selRc, double& xMin, double& xMax, double& yMin, double& yMax); // 计算选定区域物理范围值
void MoveTip(long x, long y, double xMin, double xMax, double yMin, double yMax);
BOOL ClickInRect(long x, long y, CRect& rc); // 检查鼠标位置是否在作图区内
void InitChart(BYTE type); // 设置CHART样式
void ClearUp(); // 清除绘图数据
void DrawLineMark(BOOL bDrawMark); // 是否绘制线条号
public:
CString m_cCaption; // 标题
BYTE m_btType; // 作图类别
BOOL m_bLine; // 光标是否位于线条上
protected:
long m_lSelBeginX; // 鼠标选定区域开始点X坐标
long m_lSelBeginY; // 鼠标选定区域开始点Y坐标
long m_lSelEndX; // 鼠标选定区域结束点X坐标
long m_lSelEndY; // 鼠标选定区域结束点Y坐标
BOOL m_bMouseSel; // 是否开始鼠标选定
double m_dLineLen; // 线条最大长度
BOOL m_bShowCursor; // 是否显示光标
BOOL m_bMoveCursor; // 是否移动光标
long m_lCursor; // 光标位置(从1开始)
long m_lStep; // 游标移动步长
BOOL m_bGraphPre; // 开始图形预处理
BOOL m_bZoom; // 是否放大
CRect m_rZoom; // 放大区域
double m_dZoomXMin; // 放大后X轴最小值(物理值)
double m_dZoomXMax; // 放大后X轴最大值(物理值)
double m_dZoomYMin; // 放大后Y轴最小值(物理值)
double m_dZoomYMax; // 放大后Y轴最小值(物理值)
CRect m_rClip; //
HCURSOR arrow; // 光标句柄
HCURSOR cross; // 光标句柄
long m_lvScale; // 水平游标
long m_lhScale; // 垂直游标
int m_iGraphLoc;
protected:
BOOL IsEnableZoom(); // 判断是否能继续放大
CString GetPosValue(long x, long y);
BOOL m_bDrawLineMark;
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CChartBase)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
protected:
afx_msg void OnMouseDownTChart(long Button, long Shift, long X, long Y);
afx_msg void OnMouseMoveTChart(long Shift, long X, long Y);
afx_msg void OnMouseUpTChart(long Button, long Shift, long X, long Y);
afx_msg void OnOnClickSeriesTchart(long SeriesIndex, long ValueIndex, long Button, long Shift, long X, long Y);
afx_msg void OnAfterDrawTChart();
DECLARE_EVENTSINK_MAP()
};
#endif // !defined(AFX_DRAWBASE_H__8EB56351_FD79_11D3_BE3B_00105A86943C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -