Imports Infragistics.Win.UltraWinTree
' Define the width and height of the expansion indicators. All of the images need to
' be the same size.
Const expansionIndicatorImageWidth As Integer = 15
Const expansionIndicatorImageHeight As Integer = 15
' Set the ExpansionIndicatorSize on the tree.
Me.ultraTree1.ExpansionIndicatorSize = New Size(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
' Set the ExpansionIndicatorPadding.
Me.ultraTree1.ExpansionIndicatorPadding = 3
' Tell the tree to hide the expansion indicators whenever the mouse is not over it.
Me.ultraTree1.HideExpansionIndicators = HideExpansionIndicators.OnMouseLeave
' Create a rect one pixel smaller than the size of the indicators. We will use this to
' draw the ellipses in the indicator images so they don't get clipped.
Dim expansionIndicatorImageRect As Rectangle = New Rectangle(0, 0, expansionIndicatorImageWidth - 1, expansionIndicatorImageHeight - 1)
' Create a new bitmap for each state of the expansion indicators.
Dim expansionIndicatorImageCollapsed As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
Dim expansionIndicatorImageExpanded As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
Dim expansionIndicatorImageCollapsedHotTracked As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
Dim expansionIndicatorImageExpandedHotTracked As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
' Draw the collapsed expansion indicator image.
' A red circle.
Dim g As Graphics = Nothing
Try
g = Graphics.FromImage(expansionIndicatorImageCollapsed)
g.Clear(Color.Transparent)
g.FillEllipse(Brushes.Red, expansionIndicatorImageRect)
Finally
If Not g Is Nothing Then
g.Dispose()
End If
End Try
' Draw the expanded expansion indicator image.
' A green circle.
Try
g = Graphics.FromImage(expansionIndicatorImageExpanded)
g.Clear(Color.Transparent)
g.FillEllipse(Brushes.Green, expansionIndicatorImageRect)
Finally
If Not g Is Nothing Then
g.Dispose()
End If
End Try
' Draw the collapsed expansion indicator image.
' A red circle with a black border around it.
Try
g = Graphics.FromImage(expansionIndicatorImageCollapsedHotTracked)
g.Clear(Color.Transparent)
g.FillEllipse(Brushes.Red, expansionIndicatorImageRect)
g.DrawEllipse(Pens.Black, expansionIndicatorImageRect)
Finally
If Not g Is Nothing Then
g.Dispose()
End If
End Try
' Draw the collapsed expansion indicator image.
' A green circle with a black border around it.
Try
g = Graphics.FromImage(expansionIndicatorImageExpandedHotTracked)
g.Clear(Color.Transparent)
g.FillEllipse(Brushes.Green, expansionIndicatorImageRect)
g.DrawEllipse(Pens.Black, expansionIndicatorImageRect)
Finally
If Not g Is Nothing Then
g.Dispose()
End If
End Try
' Assign the images to the tree.
Me.ultraTree1.ExpansionIndicatorImageCollapsed = expansionIndicatorImageCollapsed
Me.ultraTree1.ExpansionIndicatorImageExpanded = expansionIndicatorImageExpanded
Me.ultraTree1.ExpansionIndicatorImageCollapsedHotTracked = expansionIndicatorImageCollapsedHotTracked
Me.ultraTree1.ExpansionIndicatorImageExpandedHotTracked = expansionIndicatorImageExpandedHotTracked