私募

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

期货量化软件:赫兹量化中图形对象集合 - 管理属性修改

[复制链接]
发表于 2023-9-5 08:11:07 | 显示全部楼层 |阅读模式
我们需要图形对象属性变化事件,并通过终端属性对话框来手动控制对象属性的变更。我们已经有了图形对象删除事件 — 该函数库跟踪终端图表上所有图形对象的数量,并为每个打开的图表提供事件标志 — 如果图表对象的数量减少,我们能够找出从图表中被删除对象的数量,并处理。我们需要图形对象移动事件来控制整个图形对象位置的变化,特别是它的各自锚点。手动创建对象时也会激活移动事件。 当我们单击图表为对象设置属性,但尚未释放鼠标按钮时,该对象必须已被创建,且函数库能够看到其相应类对象,并将其添加到集合当中。 并非所有对象属性值都会被正确设置。 鼠标按钮尚未释放,如果对象用到了多个锚点,那么我们就可以移动对象,或为其设置其余的锚点。 但是当我释放鼠标按钮时,如果所有对象锚点都已被设置,则会创建图形对象移动事件。 通过跟踪事件,并根据所创建图形对象的完整设置参数来更改已创建类对象的属性值,我们为新创建的对象的所有属性设置正确的值。更改对象名称一次性蕴含三个事件 — 移除对象、创建对象和更改对象属性。 通过跟踪这三个事件来检测现有对象之一的名称更改。 但我将使用更简单的方法。 当我们更改对象名称时, CHARTEVENT_OBJECT_CHANGE 事件总是最后处理。 鉴于所有终端对象都是按名称和图表 ID 来选择的,由此我们就可以检查图表上存在的对象中哪个没在集合列表之中。 然后我们在图表上找到对象名称,若集合 (1) 中不存在该类对象,则找不到相应命名的图表对象 (2),那么就将该名称添加到 (1) 中检测到的类对象集合列表之中。 这可能看起来很复杂。 然而,一切其实都很简单。
http://www.simu001.cn/x281138x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Archiver| ( 桂ICP备12001440号-3 )|网站地图

GMT+8, 2024-4-28 21:12 , Processed in 1.442865 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表