Question
How can I render a custom link when I set the link style to
tlsUserDraw. Can you supply an example please?
Answer
The first thing to do is to create the link and set its style to User:
Private Sub LinkTimes(theFrom As IphDataEntity_GantTime, theTo As IphDataEntity_GantTime)< ?xml:namespace prefix = 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
And then you must implement the OnUserDrawLink event and simply draw your link between the start and stop. Mind you that this sample only draws a straight line, and the implementations in the phGantTimePackage does a lot more to bend the line etc.
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