VARCHART XGantt用户手册(ActiveX):OLE Drag & Drop

本文讲述了VARCHART ActiveX中的OLE拖放操作,了解OLE Drag模式和OLE Drop模式如何设置。

VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。它可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。本文讲述了VARCHART ActiveX中的OLE拖放操作。

VARCHART XGantt免费版

VARCHART XGantt 2019资源汇总专题汇集了VARCHART XGantt最新的文章教程和视频教程等内容,帮助您快速上手VARCHART XGantt~


VARCHART ActiveX中的OLE拖放操作与Visual Basic中的兼容。方法、属性和事件显示的名称和结果与Visual Basic的默认对象相同。

通过OLE拖放活动或子图可以移动。拖放模式可以自动启动,也可以通过VcGantt方法OLEDrag手动启动。

OLE Drag模式

OLE拖动模式使您可以将节点拖动到当前VARCHART ActiveX控件的限制之外。有两种选择:

  • 手动:在这种模式下,您需要调用OLEDrag方法来触发拖动节点。

  • 自动:在这种模式下,将自动开始拖动节点,使其超出控制限制。

启动OLE拖放操作时,将为DataObject提供源组件的数据,并设置effects参数以触发OLEStartDrag事件以及源的其他事件。这使您可以控制操作,例如添加其他数据格式。

默认情况下,VARCHART ActiveX使用剪贴板格式CF_TEXT(与Visual Basic中的vbCFText格式相对应)和CF_UNICODETEXT(对于Windows NT 4.0 / 2000 / XP; Visual Basic:13),可以很容易地检索它们。它与CSV文件使用的数据格式相同。

拖动时,用户可以使用<Ctrl>键决定是否移动或复制对象。

OLE Drop模式

通过OLE放置模式,可以启用将另一个VARCHART ActiveX控件的节点放置到活动控件上的功能。

共有三个选项:

  • None:不能将其他组件的节点放置在活动组件上。

  • 手动:放置其他组件的节点时,您会收到OLEDragDrop事件,该事件使您能够处理放置的对象接收到的数据,例如生成节点或加载文件。如果源组件和目标组件相同,则您将收到事件OnNodeModifyExOnNodeCreate与OLE Drag&Drop一起关闭。

  • 自动:放置将由控件自动处理,并在可能的情况下在放置操作的位置显示一个节点。

事件

如果您不希望VARCHART ActiveX组件自动执行拖放操作,可以通过以下方式与之交互:

启动OLE拖放操作后,源控件将释放OLEStartDrag事件。通过此事件,您可以将数据格式添加到传递的DataObject中,并定义允许的放置效果(即复制或移动)。移动对象后,将在目标控件中触发OLEDragOver事件,该事件允许将放置效果设置为复制移动禁止

目标控件中的每个OLEDragOver事件将触发源控件中的OLEGiveFeedback事件,该事件允许设置鼠标光标。如果在目标控件中将OLEDropMode设置为“自动”,则当用户放下对象时,将调用OLEDragDrop事件。如果在目标控件中将OLEDropMode设置为“手动”,并且源组件和目标组件不相同,则要产生与下降效果相对应的结果,这是您的工作。在源控件中执行该操作之后,将触发OLECompleteDrag事件。如果您在OLEGiveFeedback事件中手动更改了鼠标光标,则应立即将其重置。

注意:源和目标控件可能是同一控件。它们也可能是VARCHART ActiveX以外的控件,甚至根本不属于您的应用程序。如果要确保源控件和目标控件属于您的应用程序,则可以通过DataObject方法SetData设置格式。必须先通过Windows API调用RegisterClipboardFormat注册该格式,然后才能使用该格式。您可以通过目标控件的OLEDragOverOLEDragDrop事件上的DataObject方法GetFormat验证格式是否存在。

如果要以几种数据格式提供数据,并且希望避免为DataObject指定所有格式的工作,则可以将关键字Empty用作SetData

dataObject.SetData为空,myClipFormat

根据使用dataObject.GetFormat的格式要求,目标应用程序将回答True。对源控件的DataObject.GetData调用将触发OLESetData事件,该事件允许传递所需的格式。

当您要拖放文件名时,DataObjectFiles对象变得很有趣。若要拖动文件名,首先必须使用dataObject.SetData EmptyvbCFFiles在OLEStartDrag事件中定义文件格式vbCFFiles(分别为CF_HDROP)。现在,您可以使用DataObject.Files.Add方法添加文件。要放置文件名(例如从Windows资源管理器中放置),请先使用DataObject.GetFormat检查vbCFFiles格式是否存在,然后读取文件名,例如DataObject.Files(i)

文章到这里就结束了,希望对您有所帮助~感兴趣的朋友可以继续关注我们,了解更多相关文章资讯,或者VARCHART XGantt试用版尝试一下~

相关内容推荐:

VARCHART XGantt2019资源专题>>>

VARCHART XGantt用户手册>>>


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

850×68.png

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月15日
下一篇 2019年10月15日

相关推荐

发表回复

登录后才能评论