流程图控件MindFusion.Diagramming for ActiveX常见问题集锦(一):删除表格等
MindFusion.Diagramming for ActiveX(之前版本叫FlowChartX)是一个ActiveX 控件。它能帮助你创建工作流图,流程图和图表处理,数据库实体关系图表,组织,层次和关系图表, 络配置,图表和树。
最新版本4.9.5发布,包含多项新功能改进和bug修复,点击查看详情
MindFusion.Diagramming for ActiveX最新试用版
点击查看下一篇:
流程图控件MindFusion.Diagramming for ActiveX常见问题集锦(下):设置鼠标光标等
问:有更好的方法来在VB中使用控件实现OLE拖放/strong>
答:有一个名为drProgrControlVB的新拖放模式,它具有与drProgrControl相同的功能。区别在于,将属性设置为VB模式时将触发的事件将参数IVBDataObject接口与自动化兼容。FlowChartX VB事件的名称与在drProgrControl模式下触发的事件名称相同,只是将“ VB”后缀添加到它们中。
问:如果尝试访问传递到RequestCreateArrow事件中的箭头的DestinationBox属性,则会遇到应用程序错误!
答:触发RequestCreateArrow后,箭头的DestinationBox对象仍未设置。我们添加了一个名为ExpectedDestination的新箭头属性,该属性仅在RequestCreateArrow事件处理程序中有效。它指的是如果验证了箭头创建后将成为箭头目标对象的框或表。
问:我无法访问box对象的Font属性,每次都会引发错误。
答:默认情况下,所有对象(表格,框,箭头)的字体均设置为null / nothing。当图表对象的字体为null时,流程图的字体用于呈现对象的文本。这个想法是通过不为每个图表元素分配字体来减少内存使用。当对象的字体为null时,它将使用流程图的Font呈现其文本。因此,如果您需要为不同的对象使用不同的字体,则应首先使用VB SET语句将它们设置为某个值,然后您就可以无错误地访问Font属性。
问:我希望能够删除表格及其相关的子表格。除非有可能创建一个组并使用DestroyGroup方法,否则我看不到能够做到这一点的方法。
答:您可以使用递归算法对表进行级联删除,如下所示:
sub CascadingDelete(tbl as Table) dim i as integer `this will delete all child tables For i = 1 To tbl.GetRelatedTables(1, rlManyToOne).Count CascadingDelete tbl.GetRelatedTables(1, rlManyToOne).Item(0) Next i `the current table has no more children `so we can delete it fc.DeleteItem tblend sub sub someSub if fc.ActiveItem = itTable then CascadingDelete ActiveTable end ifend sub
问:我的系统允许用户构造流程图,但是我想在允许放置箭头之前检查周期。我一直在使用RequestCreateArrow来基于前面和后面的对象验证箭头,但是直到最终放置箭头后,我才能使用FindCycle函数。您知道解决此问题的方法吗/strong>
答:您可以使用FindShortestPath方法来检查是否存在一个带有正在创建的箭头的循环。例如,如果在框b1-> b2之间创建了箭头,则如果FindShortestPath(b2,b1)找到一条路径,则意味着将箭头添加到该路径将导致循环(箭头连接了箭头的两端)找到路径)。
另一个解决方案:如果正在创建从b2到b1的箭头,则如果FindShortestPath(b1,b2)返回路径,则再次意味着添加箭头将导致循环。
因此,在您的RequestCreateArrow事件处理程序中,您可以使用以下代码:
if FindShortestPath(arrow.SourceBox, ExpectedDestination) = Nothing then create = trueelse create = falseend if
问:我想以编程方式更改对象的位置(例如,移动盒子)。如何使用VB6做到这一点/strong>
答:可以使用SetRect方法更改框和表的位置。
MindFusion.Diagramming for ActiveX现已加入在线订购,现在抢购立享优惠!
想要购买MindFusion.Diagramming for ActiveX正版授权的朋友可以咨询官方客服。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!