原創|使用教程|編輯:楊鵬連|2020-12-14 10:28:58.583|閱讀 306 次
概述:本文介紹了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中的實現可以做很多事情來彎曲該直線等。
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@fc6vip.cn
文章轉載自: