MFC 高速绘图坐标轴内添加纵向基准线的方法

高速绘图坐标轴内添加纵向基准线的方法

不修改High-speed Charting Control原本代码的情况下进行操作。

  • 这里所说的原本代码指的是ChartCtrl_source.zip中的代码不修改。
  • 当然这也是基于High-speed Charting Control所添加的控件所创建的坐标轴。
CChartDragLineCursor* m_pNewCursor1;//创建竖线光标1
m_pNewCursor1=m_ChartCtrl1.CreateDragLineCursor(CChartCtrl::BottomAxis);//以横轴坐标点创建
m_pNewCursor1->SetPosition(2);//设置具体位置(数字为横坐标上的点)
m_pNewCursor1->SetColor(RGB(0, 0, 255));//竖线光标的颜色

修改High-speed Charting Control原本代码

  • 找到路径:ChartCtrl_source\ChartDragLineCursor.cpp,修改CChartDragLineCursor函数。
CChartDragLineCursor::CChartDragLineCursor(CChartCtrl* pParent,
										   CChartAxis* pRelatedAxis,
										int default_pos)
  : CChartCursor(pParent), m_pRelatedAxis(pRelatedAxis), m_lPosition(default_pos),
	m_bDragged(false)
{
}
  • 找到路径:ChartCtrl_source\ChartCtrl.cpp,修改CreateDragLineCursor函数。
CChartDragLineCursor* CChartCtrl::CreateDragLineCursor(EAxisPos relatedAxis, int default_pos)
{
	ASSERT(m_pAxes[relatedAxis] != NULL);

	CChartDragLineCursor* pNewCursor = new CChartDragLineCursor(this, m_pAxes[relatedAxis], default_pos);
	m_mapCursors[pNewCursor->GetCursorId()] = pNewCursor;
	return pNewCursor;
}
  • 创建竖线
CChartDragLineCursor* m_pNewCursor1;//创建竖线光标1
m_pNewCursor1=m_ChartCtrl1.CreateDragLineCursor(CChartCtrl::BottomAxis, 80);//以横轴坐标点创建
m_pNewCursor1->SetColor(RGB(0, 0, 255));//竖线光标的颜色

其实,修改前后只是添加了一个参数,添加这个参数只是方便我们在创建的时候可以自己定义位置,当然更建议使用不修改的吧,因为毕竟别人接口函数实现的比较全面,我只是在不熟悉接口函数情况下自己在摸索过程中自己找到第二种方法,现在看来有些鸡肋了。

发布了84 篇原创文章 · 获赞 63 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/wsq119/article/details/103435806
MFC
今日推荐