logo VARCHART XGantt 2019教程 我也要发布文档

(ActiveX版):如何操作互动事件(上)


VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)除此之外,同时还具有一个稳定可靠的甘特图工具,在编写第一行代码之前,您就可以知道是否可以满足客户的需求。

点击下载VARCHART XGantt免费版

在启用实时更新的拖放交互过程中,接收和处理有关对象的信息将非常有用。本文介绍该教程的上半部分的内容~

在默认行为中,没有给出有关对象状态的反馈。仅当释放鼠标键时,ObjectModifying事件才会给出有关旧状态(在按下鼠标键之前)和新状态(在释放鼠标键之后)的信息。此外,ObjectModified事件指示该操作在内部完成。

VARCHART XGantt用户手册(ActiveX版):如何操作互动事件(上)

要解决鼠标交互过程中不接收信息的问题,请使用伴随并描述交互的交互事件。此外,自XGantt 5.0版以来,对象事件的调用时间和频率已被修改。

VARCHART XGantt用户手册(ActiveX版):如何操作互动事件(上)

交互涉及到

我们将解释一些事件,这些事件描述了VARCHART XGantt中的交互过程以及更详细地涉及的对象,即在交互过程中发生的“拖动(Drop)”事件

  • 首先在对象上按下鼠标左键

  • 按下鼠标键执行动作

  • 最后释放鼠标左键

  • 在“实时更新”过程中被处理

术语

为了更好地理解,我们想进一步解释文本中使用的一些术语。

对象事件

对象事件,例如VcDateLineModifyingVcDateLineModifiedVcNode-ModifyingVcNode-Modified等,是事件,根据迄今为止已知的实践,这些事件是在指定的交互过程中在操作结束时抛出的。

实时更新

实时更新意味着“拖放”操作将导致永久显示“如果在此处更新对象该怎么办?”场景,这导致在不同时间处理不同的上下文,例如在交互过程中的直接功能或从属功能。例如,如果某个节点正在移动,则会导致修改各种数据和该节点的位置,进而导致修改例如直方图曲线或摘要栏。根据“实时更新”对话框中的设置,修改将立即生效,或者将鼠标悬停在要指定的时间范围后,或者在释放鼠标键的操作结束时生效。

VARCHART XGantt用户手册(ActiveX版):如何操作互动事件(上)

示例:如果为移动节点选择了更新行为“OnMouseMove”,则更新是什么样的?

对节点的直接影响:

  • 节点的每个日期值

  • 对滤镜进行评估,从而导致其他颜色,例如,出现在表格区域中

  • osummary bars

  • 直方图曲线

等待一段时间(500毫秒)后的修改

  • 例如,将节点定位在组中

  • 使用节点顺序的相应布局进行优化

仅应执行在整个操作上下文中必要且有意义的更新,否则图表将变得不太稳定。

互动事件

从VARCHART XGantt 5.0 SR3起,可以在交互运行时处理对象事件,这些对象称为InInteraction事件。

重要提示:请确保事先通过属性VcGantt.InInteractionEventsEnabled = true或在“常规”属性页上启用InInteraction事件。

请注意,在讨论实模式下与节点的交互时,我们将在图表Chart节点中调用显示对象Real(节点)和数据元素。在图表区域中进行实时交互时,该图表节点不可见,因为它将临时替换为该区域中的实际节点,但是它的存在会影响功能区高度、优化、表格区域中的颜色等方面的图表。

这样,在与显示的幻像或真实节点进行交互匹配期间,将传递有关正常对象的相应信息。

移动节点时,每次捕捉到该节点的位置(取决于其时间单位和增量)都会引发VcNodeModifying(黄色闪电)。真实节点显示可能的位置和可能的布局,并通过VcNodeModifying事件描述此状态。事件args中传递的节点(e.Node)代表实际节点的状态。

重要提示:这就是为什么查询图表节点的属性没有意义或不可能的原因。只能检索或设置属性get / setDataFieldAllDataID

如果,取决于所选的更新上下文,例如“鼠标移动时暂停”会更新真实对象,这将通过Modified事件(绿色闪电)指示出来。这可以但不必与Modifying事件同时发生。

如果在选择更新行为“按鼠标移动”时移动了节点,则两个事件将同时出现。

总结事实:

  • 如果移动节点,则由真实节点指示的修改将通过VcNodeModifying事件永久描述。

  • 图表节点的修改由VcNodeModified事件指示。

  • 交互完成后,释放鼠标键时,将提供由VcNodeModifyingVcNodeModified事件组成的结论事件对。

使用真实节点的事件中的相关对象是真实对象。

在最后一个VcNodeModifying事件中,提供具有在交互过程中最后设置的值的图表节点(与之前的VcNodeModifying事件相反),即最后一个小绿色闪电时的状态。 EventArgs的e.OldNode描述操作开始时的状态。 这样,可以比较交互的开始和结束状态。

与往常一样,该图表节点在上一个VcNodeModified事件中可用,并且所有内部过程都已完成。

本教程内容尚未完结,敬请期待后半部分内容的更新~您也可以下载VARCHART XGantt试用版评估一下~

相关内容推荐:

VARCHART XGantt用户手册>>>


想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击“咨询在线客服”

1571968159.png