MFC high-speed-charting控件使用(添加垂直游标,两个控件的联动)

MFC high-speed-charting控件使用(添加垂直游标,两个控件的联动)

应用场景

最近参与的一个项目中涉及到在一个对话框中添加两个high-speed-charting控件,在两个控件中添加dragline游标,并要求:

  1. 光标不可越过其左右游标且不能拖到控件外;
  2. 拖动其中一个控件中的dragline游标时,另一个控件中对应游标也移动。

控件的基础使用

参考了大神尘中远的博客TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting),详细讲述了如何添加控件,并在控件中添加坐标轴和画线。
画好线的控件

Hight-Speed Charting自带对chart的缩放,左键拖动控制缩放,右键拖动chart,但由于添加dragline游标后也需要左键拖动,有冲突,所以本文中禁用了其缩放(调用yourChartCtrlName.SetZoomEnabled(false);),当然,也可以尝试将缩放移到鼠标滚轮,但由于本人对此部分不太熟悉,希望能有人加以改进


添加游标前的准备工作

1.添加所需的函数,变量
(1)ChartDragLineCursor.h中声明函数及变量

public:
	CChartCtrl* GetParent();
	void SetPosition(double dPosition);
	void SetWidth(int NewWidth)
	double GetValuePosition()
	bool GetDragged();

	double minx,maxx;
private:
	long last_lPosition;
	int m_iLineWidth;

(2)以下代码为ChartDragLineCursor.cpp中几个函数的实现(要先在.h文件的类中声明该函数)

	CChartCtrl* CChartDragLineCursor::GetParent() 
	{ 
		return m_pParentCtrl; 
	}
	
	void CChartDragLineCursor::SetPosition(double dPosition)
	{
		m_lPosition = m_pRelatedAxis->ValueToScreen(dPosition);
	}
	
	void CChartDragLineCursor::SetWidth(int NewWidth) 
	{
		m_iLineWidth = NewWidth;
		m_pParentCtrl->RefreshCtrl();
	}
	
	double CChar
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MFC绘图控件是Microsoft Foundation Class库中的一个工具,它可以用来进行高速图表绘制。该控件具有快速绘图的能力,可以实时更新,并且支持鼠标响应。 MFC绘图控件可以通过MFC绘图示例(MFC Drawing Demo)来演示。该示例程序提供了一个基础的绘图框架,通过这个框架可以创建和绘制各种图形,如直线、矩形、圆等。使用示例程序可以学习和了解MFC绘图控件的基本用法和功能。 在示例程序中,鼠标响应是一个重要的功能。通过对鼠标事件的处理,可以实现一些交互式的操作,比如绘制自由曲线、移动和编辑已有图形等。例如,可以通过鼠标左键点击来创建一个点,通过拖动鼠标可以绘制直线或矩形等。 MFC绘图控件的高速性是其突出的特点之一。在图表绘制中,通常需要频繁地进行绘制操作,如果绘制速度太慢,会导致界面卡顿,影响用户体验。而MFC绘图控件通过利用底层硬件加速和绘图缓冲等技术,可以快速地进行图表绘制,保证了绘制效率和流畅度。 总而言之,MFC绘图控件是一个功能强大的工具,可以用于高速图表绘制。通过鼠标响应,可以实现更多的交互式操作。示例程序提供了一个演示和学习的平台,用户可以深入了解和使用MFC绘图控件的各种功能。 ### 回答2: high-speed charting control(MFC绘图控件)是一种用于在MFC应用程序中绘制快速和高效图表的控件。该控件的作用是帮助开发者在应用程序中实现各种类型的图表,如折线图、柱状图、饼图等。通过使用这个控件,开发者可以轻松地创建具有交互性和响应式的图表。 MFC绘图demo是一个包含了鼠标响应功能的示例程序。该示例程序展示了如何使用high-speed charting control控件来创建图表,并在用户与图表交互时响应鼠标的操作。 在这个demo中,开发者可以看到如何通过添加数据点来绘制折线图。通过鼠标的点击和拖动,用户可以添加、删除和移动数据点,实时更新图表的显示。该demo还演示了如何通过鼠标的滚动来放大和缩小图表的显示范围。 除了基本的绘制功能,MFC绘图demo还提供了一些其他功能,如图表的标注、背景设置和图表的保存与导入等。这些功能使得开发者可以根据实际需要进行图表的定制和扩展。 总结起来,high-speed charting control(MFC绘图控件)以及包含鼠标响应的MFC绘图demo是一种帮助开发者快速绘制高效图表的控件和示例程序。开发者可以根据自己的需求,使用这个控件和示例程序来实现各种类型的交互式图表功能。 ### 回答3: 高速绘图控件MFC(Microsoft Foundation Classes)框架中的一个重要的组件之一,它可以用于在应用程序中实现图表的绘制和展示。MFC绘图Demo是一个示例程序,展示了如何使用MFC绘图控件来实现图表绘制,并通过鼠标响应来交互操作。 MFC绘图控件使用了高效的绘图算法,能够快速地绘制图表数据,并具有良好的性能。它支持多种类型的图表,如曲线图、柱状图、饼状图等,并提供了丰富的参数和选项,可以用于定制图表的外观和行为。 MFC绘图Demo通过鼠标响应实现了图表的交互操作。用户可以使用鼠标来选择图表中的数据点、拖动图表的视图、放大缩小图表等。通过鼠标操作,用户可以方便地查看和分析图表数据,实现更直观的数据展示和操作。 在MFC绘图Demo中,通过监听鼠标事件,获取鼠标的坐标信息,并根据鼠标的操作来改变图表的显示和行为。例如,当用户点击某个数据点时,可以在图表上显示该数据点的数值或详细信息;当用户拖动图表视图时,可以实现平移图表的功能;当用户使用滚轮滚动鼠标时,可以实现图表的放大缩小。 总之,MFC高速绘图控件MFC绘图Demo是用于实现图表绘制和交互操作的工具和示例程序,它们可以帮助开发人员快速构建和定制图表功能,并提供高效的数据展示和操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值