2dklinegraph.h

来自「我做的一个简单的读取*.day股票历史数据的显示成KLine的小例子。」· C头文件 代码 · 共 66 行

H
66
字号
#pragma once
#include "atltypes.h"

#define GP_ONEMIN			1
#define GP_FIVEMIN			2
#define GP_FIFTEENMIN		3
#define GP_HALFHOUR			4
#define GP_ONEHOUR			5
#define GP_DAY				6
#define GP_WEEK				7
#define GP_QUARTER			8
#define GP_YEAR				9

struct _2DKLineGraphValues
{
	int index;
	__time64_t t;
	double minvalue;
	double maxvalue;
	double startvalue;
	double endvalue;
	double weekma;
	double halfmonthma;
	double monthma;
	double quarterma;
	int quantity;
	int turnover;
	struct _2DKLineGraphValues* prev;
	struct _2DKLineGraphValues* next;
};


class C2DKLineGraph
{
public:
	C2DKLineGraph(CSize size);
	~C2DKLineGraph(void);
private:
	CSize m_Size;
	int m_AnalysePeriod;
	int m_GraphValuesCount;
	
	double m_MaxValue;
	double m_MinValue;

	double m_DisplayMinValue;
	double m_DisplayMaxValue;
	__time64_t m_DisplayMinTime;
	__time64_t m_DisplayMaxTime;

	int m_XScale;
	int m_YScale;

	struct _2DKLineGraphValues* m_GraphValues;
public:
	void CreateGraph(CDC * pDC);
	void ClearGraph();

	void SetGraphSize(CSize g_size);
	void SetValue(__time64_t t,double startvalue, double maxvalue, double minvalue, double endvalue);
private:
	double GetMAValue(_2DKLineGraphValues* cur_val,int period);
	int ValueToPoint(double val);
	int TimeToPoint(__time64_t t);
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?