phGantt Time Package控件常见问题解答(五)

phGant Time Package同时包含了phGantt 和phSchema控件,是一款快速、完全面向对象的ActiveX控件,有着丰富的图形用户界面,客户可以熟练地操作时间进度条。时间进度条可以以甘特图和概要视图的形式显示。该控件是一款强大的日程安排、项目管理控件,被国际上许多大公司所使用,控件作为PlexityHide公司在中国的核心代理商,为客户提供优质的客服和技术之支持。

10673:隐藏行

问题

我在应用程序中使用phGantTime,并且希望隐藏整行,以便用户可以区分不同的行(每行代表一个活动)。从帮助中,我发现每个IphGantRow3都有一个名为“ visible”的属性,但是该属性是只读的。如何设置此属性以隐藏行/span>

回答

要从视图中完全隐藏 格节点及其GanttRow(但仍将其保留在组件中),可以设置IphDataEntity_Tree2(在VCL中为TphDataEntity_GridTreeNode)的HideNode属性。

要从视图中隐藏特定时间项,可以设置其“可见”属性。

10854:我在VCL中的TextCollection的AddText遇到问题。

问题

我在’TextCollection’的’AddText’中遇到了问题。

例如,当我测试’TextCollection.Count’时,在’AddText’方法之后,它表示为0。
创建后,我不知道如何更改’TphDataEntity_GantTime’的文本。

回答

下面的代码将文本添加到时间项,然后对其进行更改…

procedure TForm1.Button4Click(Sender: TObject);begin  if Assigned(phGant1.ActiveDataEntity) then  begin    phGant1.ActiveDataEntity.TextCollection.AddText(‘Hello’,0,0);    ShowMessage(IntToStr(phGant1.ActiveDataEntity.TextCollection.Count));    phGant1.ActiveDataEntity.TextCollection.Text[0].Text:=phGant1.ActiveDataEntity.TextCollection.Text[0].Text+’+’;  end;end;

10907:将链接样式设置为tlsUserDraw时,如何呈现自定义链接/strong>

问题

将链接样式设置为
tlsUserDraw时,如何呈现自定义链接。你能提供一个例子吗/span>

回答
要做的第一件事是创建链接并将其样式设置为User:

私有子链接时间(theFrom为IphDataEntity_GantTime,To为IphDataEntity_GantTime)<ml:命名空间前缀= o ns =“ urn:schemas-microsoft-com:office:office” />

Dim aLink As IphDataEntity_LinkDim aInt As Integer   If (theFrom Is Nothing) Or (theTo Is Nothing) Then     ‘ Dont do anything   Else     Set aLink = phGantX1.AddLink     aLink.LinkOwner = theFrom     aLink.LinkedTo = theTo     aInt = globalCounter Mod 4     ‘aLink.LinkStyle = tlsMSProject     aLink.LinkStyle = tlsUserDraw     aLink.LinkColor = vbBlue     If aInt = 1 Then       aLink.StartFinishOption = tlsfFS     ElseIf aInt = 2 Then       aLink.StartFinishOption = tlsfSS     ElseIf aInt = 3 Then       aLink.StartFinishOption = tlsfFF     ElseIf aInt = 3 Then       aLink.StartFinishOption = tlsfFS     End If     globalCounter = globalCounter + 1   End If   Set globalToLinkTo = theToEnd Sub

然后,您必须实现OnUserDrawLink事件,并简单地在开始和停止之间绘制链接。请注意,此示例仅绘制一条直线,而phGantTimePackage中的实现可以做很多事情来弯曲该直线等。
Private Sub phGantX1_OnUserDrawLink(ByVal theGant As phGantXControl.IphGantX2, ByVal theDataEntity_Link As phGantXControl.IphDataEntity_Link, ByVal theHDC As Long, ByVal Startx As Long, ByVal Starty As Long, ByVal Stopx As Long, ByVal Stopy As Long)
    aDummy = Module1.MoveTo(theHDC, Startx, Starty)
    aDummy = Module1.LineTo(theHDC, Stopx, Stopy)
End Sub

10844:Vista Home Premium下的phGantXControl.ocx

问题

我无法在Vista Home Premium下注册phGantXControl.ocx(我正在使用命令:regsvr32 phGantXControl.ocx)。系统返回对DllRegisterServer的调用失败,错误代码:0x80004005。另外(也许出于同样的原因我无法将此Activex导入Delphi 7 IDE。在将我的开发从XP迁移到新的Vista的过程中,请帮助我,并且我面临许多战斗力问题。

回答

您必须在Vista中以管理员身份运行regsvr32。只需启动命令提示符并选择“以管理员身份运行”,然后执行regsvr32。

有关在Vista Ultimate中安装phGantXControl.ocx的更多信息。您必须打开UAC(高级用户权限)。

11040:我想保留某些时间项目的原始高度…

问题

对于gantrow,我已设置属性CollisionDetect = True,
因此在Collision上,timeItems的高度已更改(正是我想要的)。但我想保留原始的“某些时间项目的高度”,因为这是另一项活动。我该如何在VB中进行安排。提前thnx。

回答

您可以设置IphGantRow3.CollisionDetectBetweenLayers = false并将某些活动保留在一层中,而将其他活动保留在另一层中。

10619:控制z时间项的顺序

问题

当我在甘特行(时间相互重叠)中添加几个TimeItem时,它们都会出现;但是会在 格上水平拆分,显示几个精简的TimeItem。

我真正想要的是要显示的一行,最后添加的项目将覆盖(显示在顶部)其他项目。我知道我可以遍历不同的时间项,并计算每个时间点的开始/停止时间,以确保时间不重叠(导致一行出现),但这会花费一些时间。

可以通过使用不同的图层来实现吗/span>

回答

首先,您可以通过设置IphGantRow3.CollisionDetect = false来关闭自动冲突检测。

但是要进一步控制绘图的z顺序(哪个时间项被绘制在另一个顶部),您应该将时间项放置在不同的图层上。

如果将时间项添加到第0层,将时间项添加到第1层,则它看起来像这样:

layer0_TimeItem = phGantX.AddGantTime(0)
layer1_TimeItem = phGantX.AddGantTime(1)

默认的绘制顺序是从0到n。您可以控制绘图的开始位置(也许您想在时间项上选择“后退”),这由IphGantRow3.DrawLayerStart属性控制。

这是IphGantRow3.DrawLayerStart属性的帮助文件描述

由于GantRow上可以有很多数据列表,因此可以将这些不同的列表用作图层。为了按顺序控制绘制图层,请设置drawLayerStart属性。假设您有5层或数据列表。然后它们的范围为0到4,通常绘制为0、1、2、3、4。例如,当您将DrawLayerStart设置为3时,它们将按以下顺序绘制:3,4,0,1,2。

相关产品介绍:

VARCHART XGantt:支持ActiveX、.Net等平台的C#甘特图控件
AnyGantt:构建复杂且内容丰富的甘特图的理想工具
phGantt Time Package:对任务和时间的分配管理的甘特图
dhtmlxGantt:交互式JavaScript / HTML5甘特图


APS帮助提升企业生产效率,真正实现生产计划可视化呈现与控制,快速有效响应不同场景的生产计划,提高准时交货能力,提高产能和资源利用率

想要了解phGant Time PackageAPS系统,请登录 咨询在线客服,解决您的问题!

phGantt Time Package控件常见问题解答(五)

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月11日
下一篇 2020年11月11日

相关推荐

发表回复

登录后才能评论