深入浅出CChart 每日一课——第三课 初识交互功能,那山那水那人

下面请用VC6打开第一课编写的程序,并运行之,出现第一课最后一张图的那个界面。

把鼠标在程序的窗口里四处动动,是不是图像的状态随着鼠标位置的移动有所变化呢?

是的,的确是这样,这就是CChart的交互功能在起作用了。

非常奇特的地方在于,我们并没有为交互功能添加任何代码!!!

为了完整地体验CChart的交互功能,需要把第一课的程序略作修改。

在VC中打开Lesson01.cpp文件,找到ATOM MyRegisterClass(HINSTANCE hInstance)这个函数,并在函数里找到下面这一行。

 

 
wcex.style			= CS_HREDRAW | CS_VREDRAW;
 


把这一行修改成下面这样。

 

 
wcex.style			= CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
 


 

修改的原因是VC的Win32 Application向导自动产生的程序默认是不响应鼠标双击的,上面的修改让我们的程序能够响应鼠标双击。

是不是简单了点,下面还需要写代码吗?

真的不需要了,这一课的代码编写到此为止。

下面简单介绍CChart的交互功能。

3.1 交互的对象

CChart中交互的对象称为图元,图元的具体范围包括图像标题、绘图区、曲线、坐标轴、图例。

为了解释上面的几种图元,我们首先把图例显示出来。

在程序的客户区右键点击鼠标,出现如图的右键菜单。

 

点击“Show Legend”,程序界面变成下面这样。

哈哈,图例显示了出来。

下面笨笨把程序界面修改一下,就能显示各种图元是什么了。修改方法不是修改代码,而是利用交互功能直接在程序运行时改,同学们一会也会自己改了。

3.2 图元高亮

当鼠标掠过某个图元时,该图元即高亮。

如图是图像标题高亮。

对于坐标轴高亮、曲线高亮、数据区高亮、图例高亮,这里就不演示了,同学们自己动动鼠标就可以看见效果。

可以想一想,图像标题、坐标轴等图元的高亮,实现应该不难,因为它们仅仅是个方框,但对于曲线的高亮,是不是就不那么容易了吧?这可是笨笨的独门绝技哟,呵呵。本人在CSDN的下载频道有一个CChart的全源码版本,如果哪位同学有兴趣想知道是怎么实现曲线的高亮的,可以下载下来看看。

3.3 图元选择

图像标题、坐标轴、曲线这三种图元可以被选择。

当鼠标位于某图元之上时,按鼠标左键可以选择之。其中曲线的选择还可以在图例中按左键选择。

下图显示了曲线被选择后的界面,线宽加大并变色。当然没有对比是看不出来变化的,需要和上图比较。

3.4选择切换

切换选择图元的方法是Space键,按下Space键,将按照标题-->各条坐标轴-->各条数据曲线-->标题的顺序切换选择。多个坐标轴和多条数据曲线将按照它们添加的顺序切换。

同学们可以按空格键试试看。

3.5图元编辑

当某个图元处于被选择的状态时,按下Enter键,即弹出一个对话框,可以对该图元的属性进行编辑。

例如上图中曲线被选择,按下回车,出现如下对话框。

在这个对话框里可以对图元的很多属性进行修改。例如这里把Title改成“CChart的新数据”,按下OK键后,图像界面就相应地修改了。

改变的地方在图例中,图例中的文字就是曲线的标题。如果有多条曲线,每条曲线都有一个标题。

除了回车键以外,还可以用鼠标双击的方式调出属性对话框。

3.6 右键菜单

本节课的最前面已经出现右键菜单了,那里用右键菜单调出图例。

其实右键菜单的功能非常丰富,同学们自己可以随便试一下,看看各条菜单的作用和效果。

 

好了,下课铃响了,本节课的内容相当丰富,但实际上只写了半句代码。其实这半句代码也可以不写,对功能的影响仅仅在于鼠标双击不起作用。这个问题你不能怪笨笨,要怪的话,你去找比尔盖茨。

这两课基本都属于瞎掰,下节课开始要准备一些干货了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值