彩票走势图

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

原创|使用教程|编辑:杨鹏连|2020-12-14 10:28:58.583|阅读 223 次

概述:本文介绍了phGant Time Package控件常见问题并做解答。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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

10673:隐藏行

问题

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

回答

要从视图中完全隐藏网格节点及其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时,如何呈现自定义链接?


问题

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

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

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

Dim aLink As IphDataEntity_Link
Dim 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 = theTo
End 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。

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

可以通过使用不同的图层来实现吗?

回答

首先,您可以通过设置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 Package慧都APS系统,请登录慧都网,解决您的问题!


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP