怎样用MFC的对话框中画坐标曲线图

怎样用MFC的对话框中画坐标曲线图,第1张

这个得看你是单文档还是基于对话框的结构了。

单文档的绘图一般都在OnDraw()当中进行,基于对话框的是OnPaint()

你只需要计算出合适的坐标就好了。

利用备册老CDC类下的LineTo MoveTo 绘制直线即可

对应的曲线也有相应仿升的函数,这是静态的。

我这里有一个动态绘制的Demo,以前参考过的

不知道符不符合楼主的要求。要姿颤的话可以给个邮箱

在网上下载TeeChart控件并安装,安装自然不用多说,安装完后找到安装路径(带有TeeChart5.ocx文件),复制当前路径

2

安装完后需要对控件进行简单的注册,打开cmd,通过cd指令并粘贴原来复制好的路径,转到软件安装好的目录;

接着输入:regsvr32 TeeChart5.ocx,然后d出对话框提示注册成功

注册完毕,打开VS2013,新建一个MFC项目,在VC++栏中找到MFC项目,选择好项目存放的目录并填写项目名称

接着是创建向导,只需修改选择“基于对话框”模式,至于“最小化框”和“最大化框”随各自情况选择,其余的默认点“下一步”即可

将默认生成的三个控件按delete键删除

接下来导入TeeChart控件,选择“工具"-》"选择工具箱项"-》"COM组件",找到"TeeChart Pro Active control v5"并选中它,点击"确定"

在工具箱中找到“TeeChart Pro Active control v5”控件并拖放到对话框上,适当调整控件大小

控件已经导入了,接下来需要添加相关的“类”和“变量”,首先添加类。

在“类视图”中右键项目名称,选择“添加”-》“类”;

然后选择“MFC”项中的“TypeLib中的MFC类”,点“添加”。

在注册表的可用类型库中找到"TeeChart Pro Active control v5<1.0>",这里不需要一直下拉慢慢找,只要输入明销"tee"就可以直接选中

在“接口”中选择所需的类,Teechart控件包含很多类,CTChart是必须的,对应的接口是“ITChart”,其他类包括CSeries、CAxis、CAxes、CTitles等等,型腊这里仅以“CTChart”和“CSeries”为例,选择“ISeries”、“ITChart”。

确定以后可以在类视图中看到新添加的两个类。

接下来需要对控件关联变量,对控件右键选择“添加变量”,选择默认的控件类型,属于类“CTchart1”,对变量进行命名,这里命名为激租游"m_chart",这样类和变量就关联好了。

项目中会多出一个tchart1.h文件和tchart1.cpp文件,在对话框类的头文件CTestDlg.h中会有“CTchart1 m_chart”的变量定义,但是CTestDlg.cpp文件中对话框类的构造函数会多出一句“, m_chart(0)”,需要把它删除,否则会编译出错。这样前期准备工作就完成了

没有特别简单直接的办法,在静态框上这样实现。如果可以使用文档视图结构,那么使用CScrollView可以很档卜方便侍雀的实现。

在静态框上做,手工增加处理代码,需要分两个步骤:

实现局部显示。这里你可以在OnPaint中通过坐标计算和范围计算来实现不超出范围显示,也可以通过内存DC建一个大的画布,然后老蠢早根据需要显示区块只BitBlt到实际dc一个部分(推荐后一种)

你需要处理滚动或者拖动。滚动处理需要自己增加两个滚动条控件,并响应滚动消息,记录滚动位置和更新界面;拖动是在OnMouseMove里面,记录拖放距离并计算位置变化。当然,这两种只需要一种即可实现效果,两种都处理更好。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/8031795.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存