Hide

SftTree/OCX 7.5 - ActiveX Tree Control

Display
Print

Pictures Sample (VB.NET)

This sample illustrates using bitmaps, images, imagelists, checkboxes, radiobuttons, color samples, progress bars and more.

The source code is located at C:\Program Files (x86)\Softelvdm\SftTree OCX 7.5\Samples\Visual Studio - VB.NET\Pictures\Form1.vb or C:\Program Files\Softelvdm\SftTree OCX 7.5\Samples\Visual Studio - VB.NET\Pictures\Form1.vb (on 32-bit Windows versions).


    Private Sub MenuExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuExit.Click
        Application.Exit()
    End Sub

    Private Sub CopyImageFromCurrentItem()

        Dim ItemIndex As Integer
        Dim Img As SftPictureObject

        ItemIndex = AxSftTree1.Items.Current
        If ItemIndex < 0 Then Exit Sub

        ' don't use images that are too large in the other areas
        Img = AxSftTree1.get_Cell(ItemIndex, 0).Image
        If Img.ActualHeight <= 20 And Img.ActualWidth <= 20 Then
            AxSftTree1.RowColumnHeader.Image = Img
            AxSftTree1.get_Header(1).Image = Img
        Else
            AxSftTree1.RowColumnHeader.Image.Clear()
            AxSftTree1.get_Header(1).Image.Clear()
        End If
    End Sub

    Private Sub ToggleImage(ByVal Img As SftPictureObject)

        Select Case Img.Appearance
            Case SftPictureImageConstants.sftImageCheckboxNo
                Img.Appearance = SftPictureImageConstants.sftImageCheckboxYes
            Case SftPictureImageConstants.sftImageCheckboxYes
                Img.Appearance = SftPictureImageConstants.sftImageCheckboxNo
            Case SftPictureImageConstants.sftImageCheckboxUnknown
                Img.Appearance = SftPictureImageConstants.sftImageCheckboxNo
            Case SftPictureImageConstants.sftImageCheckboxNoDisabled
                Img.Appearance = SftPictureImageConstants.sftImageCheckboxYesDisabled
            Case SftPictureImageConstants.sftImageCheckboxYesDisabled
                Img.Appearance = SftPictureImageConstants.sftImageCheckboxNoDisabled
            Case SftPictureImageConstants.sftImageCheckboxUnknownDisabled
                Img.Appearance = SftPictureImageConstants.sftImageCheckboxNoDisabled
            Case SftPictureImageConstants.sftImageRadioButtonNo
                Img.Appearance = SftPictureImageConstants.sftImageRadioButtonYes
            Case SftPictureImageConstants.sftImageRadioButtonYes
                Img.Appearance = SftPictureImageConstants.sftImageRadioButtonNo
            Case SftPictureImageConstants.sftImageRadioButtonNoDisabled
                Img.Appearance = SftPictureImageConstants.sftImageRadioButtonYesDisabled
            Case SftPictureImageConstants.sftImageRadioButtonYesDisabled
                Img.Appearance = SftPictureImageConstants.sftImageRadioButtonNoDisabled
            Case SftPictureImageConstants.sftImageUp
                Img.Appearance = SftPictureImageConstants.sftImageDown
            Case SftPictureImageConstants.sftImageUpDisabled
                Img.Appearance = SftPictureImageConstants.sftImageDownDisabled
            Case SftPictureImageConstants.sftImageDown
                Img.Appearance = SftPictureImageConstants.sftImageUp
            Case SftPictureImageConstants.sftImageDownDisabled
                Img.Appearance = SftPictureImageConstants.sftImageUpDisabled
            Case SftPictureImageConstants.sftImageSortAsc
                Img.Appearance = SftPictureImageConstants.sftImageSortDesc
            Case SftPictureImageConstants.sftImageSortAscDisabled
                Img.Appearance = SftPictureImageConstants.sftImageSortDescDisabled
            Case SftPictureImageConstants.sftImageSortDesc
                Img.Appearance = SftPictureImageConstants.sftImageSortAsc
            Case SftPictureImageConstants.sftImageSortDescDisabled
                Img.Appearance = SftPictureImageConstants.sftImageSortAscDisabled
        End Select
    End Sub

    Private Sub PropagateImage(ByVal ItemIndex As Integer, ByVal Img As SftPictureObject)

        ' don't use images that are too large in the other areas
        If Img.ActualHeight <= 20 And Img.ActualWidth < 20 Then
            AxSftTree1.get_Item(ItemIndex).Image = Img
            AxSftTree1.get_Item(ItemIndex).LabelImage = Img
            AxSftTree1.get_Item(ItemIndex).RowHeader.Image = Img
        End If
    End Sub

    Private Sub UpdatePictures(ByVal ItemIndex As Integer, ByVal IPic As stdole.IPictureDisp, ByVal Align As SftTreeHAlignConstants)
        Dim C As SftTreeCell
        C = AxSftTree1.get_Cell(ItemIndex, 0)
        C.Image.Picture = IPic
        C.ImageHAlign = Align
        PropagateImage(ItemIndex, C.Image)
    End Sub

    Private Sub UpdateImages(ByVal ItemIndex As Integer, ByVal Img As Image, ByVal Align As SftTreeHAlignConstants)
        Dim C As SftTreeCell
        C = AxSftTree1.get_Cell(ItemIndex, 0)
        C.Image.NETImageObject = Img
        C.ImageHAlign = Align
        PropagateImage(ItemIndex, C.Image)
    End Sub

    Private Sub UpdateImageList(ByVal ItemIndex As Integer, ByVal ImageListControl As ImageList, ByVal i As Integer, ByVal Align As SftTreeHAlignConstants)
        Dim C As SftTreeCell
        C = AxSftTree1.get_Cell(ItemIndex, 0)
        C.Image.SetImageListH(ImageListControl.Handle.ToInt32(), i)
        C.ImageHAlign = Align
        PropagateImage(ItemIndex, C.Image)
    End Sub

    Private Sub UpdateColor(ByVal ItemIndex As Integer, ByVal Clr As System.Drawing.Color, ByVal Align As SftTreeHAlignConstants)
        Dim C As SftTreeCell
        C = AxSftTree1.get_Cell(ItemIndex, 0)
        C.Image.SetColorSample(Convert.ToUInt32(ColorTranslator.ToOle(Clr) And &HFFFFFFFF&), _
                                Convert.ToUInt32(ColorTranslator.ToOle(Color.Black) And &HFFFFFFFF&))
        C.Image.Width = 12
        C.Image.Height = 12
        C.ImageHAlign = Align
        PropagateImage(ItemIndex, C.Image)
    End Sub

    Private Sub AddColor(ByVal Text As String, ByVal Clr As Color)
        Dim i As Integer
        i = AxSftTree1.Items.Add(Text)
        AxSftTree1.get_Item(i).Level = 2
        UpdateColor(i, Clr, SftTreeHAlignConstants.halignSftTreeRight)
    End Sub

    Private Sub UpdateBuiltinImage(ByVal ItemIndex As Integer, ByVal Style As SftPictureImageConstants, ByVal wPix As Integer, ByVal hPix As Integer, ByVal Align As SftTreeHAlignConstants)
        Dim C As SftTreeCell
        C = AxSftTree1.get_Cell(ItemIndex, 0)
        C.Image.Appearance = Style
        C.Image.Width = wPix
        C.Image.Height = hPix
        C.ImageHAlign = Align
        PropagateImage(ItemIndex, C.Image)
    End Sub

    Private Sub AddBuiltinImage(ByVal Text As String, ByVal Style As SftPictureImageConstants, ByVal wPix As Integer, ByVal hPix As Integer)
        Dim i As Integer
        i = AxSftTree1.Items.Add(Text)
        AxSftTree1.get_Item(i).Level = 2
        UpdateBuiltinImage(i, Style, wPix, hPix, SftTreeHAlignConstants.halignSftTreeRight)
    End Sub

    Private Sub ShowSortDirection(ByVal Ascending As Boolean)
        If (Ascending) Then
            AxSftTree1.get_Header(0).Image.Appearance = SftPictureImageConstants.sftImageSortAsc
        Else
            AxSftTree1.get_Header(0).Image.Appearance = SftPictureImageConstants.sftImageSortDesc
        End If
        m_SortDirection = Ascending
    End Sub

    Private Sub SetSortDirection(ByVal NewDirection As Boolean)
        ShowSortDirection(NewDirection)
        If NewDirection Then
            AxSftTree1.Items.SortDependents(-1, 0, SftTreeSortTypeConstants.sortSftTreeAscending)
        Else
            AxSftTree1.Items.SortDependents(-1, 0, SftTreeSortTypeConstants.sortSftTreeDescending)
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AxSftTree1.Dock = DockStyle.Fill

        Dim ItemIndex As Integer

        ItemIndex = AxSftTree1.Items.Add("Progress Bars")
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "SftTree/OCX supports progress bars as cell background (partial or full size)."

        Dim I As Integer
        I = AxSftTree1.Items.Add("Progress Bar - Full Size")
        AxSftTree1.get_Item(I).Level = 1
        AxSftTree1.get_Cell(I, 0).ProgressMax = 100  ' maximum value 0-100
        AxSftTree1.get_Cell(I, 0).ProgressValue = 33 ' current value

        I = AxSftTree1.Items.Add("Progress Bar - Partial")
        AxSftTree1.get_Item(I).Level = 1
        AxSftTree1.get_Cell(I, 0).ProgressColorOrientation = SftTreeOrientationDefaultConstants.horizontalDefaultOrientationSftTree
        AxSftTree1.get_Cell(I, 0).ProgressStyle = SftTreeProgressStyleDefaultConstants.smallDefaultProgressStyleSftTree
        AxSftTree1.get_Cell(I, 0).ProgressMax = 200  ' maximum value 0-200
        AxSftTree1.get_Cell(I, 0).ProgressValue = 33 ' current value

        I = AxSftTree1.Items.Add("Progress Bar - with gradient fill")
        AxSftTree1.get_Item(I).Level = 1
        AxSftTree1.get_Cell(I, 0).ProgressColorOrientation = SftTreeOrientationDefaultConstants.horizontalDefaultOrientationSftTree
        AxSftTree1.get_Cell(I, 0).ProgressStyle = SftTreeProgressStyleDefaultConstants.smallDefaultProgressStyleSftTree
        AxSftTree1.get_Cell(I, 0).ProgressColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(128, 128, 0)) And &HFFFFFFFF&)
        AxSftTree1.get_Cell(I, 0).ProgressColorEnd = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(255, 255, 0)) And &HFFFFFFFF&)
        AxSftTree1.get_Cell(I, 0).ProgressMax = 50   ' maximum value 0-50
        AxSftTree1.get_Cell(I, 0).ProgressValue = 40 ' current value

        I = AxSftTree1.Items.Add("Progress Bar - customizable colors")
        AxSftTree1.get_Item(I).Level = 1
        AxSftTree1.get_Cell(I, 0).ProgressColorOrientation = SftTreeOrientationDefaultConstants.verticalDefaultOrientationSftTree
        AxSftTree1.get_Cell(I, 0).ProgressStyle = SftTreeProgressStyleDefaultConstants.smallDefaultProgressStyleSftTree
        AxSftTree1.get_Cell(I, 0).ProgressColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(128, 128, 0)) And &HFFFFFFFF&)
        AxSftTree1.get_Cell(I, 0).ProgressColorEnd = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(255, 255, 0)) And &HFFFFFFFF&)
        AxSftTree1.get_Cell(I, 0).ProgressMax = 150   ' maximum value 0-150
        AxSftTree1.get_Cell(I, 0).ProgressValue = 40  ' current value
        AxSftTree1.get_Cell(I, 0).BackColor = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromKnownColor(KnownColor.Window)) And &HFFFFFFFF&)
        AxSftTree1.get_Cell(I, 0).BackColorEnd = Convert.ToUInt32(ColorTranslator.ToOle(Color.FromArgb(255, 0, 0)) And &HFFFFFFFF&)
        AxSftTree1.get_Cell(I, 0).BackColorOrientation = SftTreeOrientationDefaultConstants.horizontalDefaultOrientationSftTree


        ItemIndex = AxSftTree1.Items.Add("Supported Picture Types")
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "SftTree/OCX supports numerous image types, such as GDI+, bitmaps, icons, ImageLists and also offers numerous built-in images.."

        ' add GDI+ samples

        ItemIndex = AxSftTree1.Items.Add("GDI+ Images")
        AxSftTree1.get_Item(ItemIndex).Level = 1
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "All GDI+ images are supported, like GIF, JPEG, Exif, PNG, TIFF and device-independent bitmaps (up to 64bpp) with semi-transparent and translucent areas."

        I = AxSftTree1.Items.Add("PNG Sample with alpha-channel for translucent edges")
        AxSftTree1.get_Item(I).Level = 2
        UpdateImages(I, PicturePNG1.Image, SftTreeHAlignConstants.halignSftTreeRight)

        I = AxSftTree1.Items.Add("Another PNG Sample with alpha-channel for translucent edges")
        AxSftTree1.get_Item(I).Level = 2
        UpdateImages(I, PicturePNG2.Image, SftTreeHAlignConstants.halignSftTreeRight)

        ' add bitmap samples

        ItemIndex = AxSftTree1.Items.Add("Bitmaps")
        AxSftTree1.get_Item(ItemIndex).Level = 1
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "Bitmaps can be of varying sizes and also support Bitmap Transparency, which allows the background to show through the image (in areas selected by the bitmap designer)."

        I = AxSftTree1.Items.Add("Large Bitmap")
        AxSftTree1.get_Item(I).Level = 2
        UpdateImages(I, PictureLogo.Image, SftTreeHAlignConstants.halignSftTreeRight)

        I = AxSftTree1.Items.Add("Various bitmap sizes")
        AxSftTree1.get_Item(I).Level = 2
        UpdateImages(I, PictureSmallBitmap.Image, SftTreeHAlignConstants.halignSftTreeRight)

        ' add icon samples

        ItemIndex = AxSftTree1.Items.Add("Icons")
        AxSftTree1.get_Item(ItemIndex).Level = 1
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "The supported icons can be standard size icons (32x32) or any other size supported by the operating system."

        I = AxSftTree1.Items.Add("Standard Icon (32x32)")
        AxSftTree1.get_Item(I).Level = 2
        UpdateImages(I, PictureIcon.Image, SftTreeHAlignConstants.halignSftTreeRight)

        I = AxSftTree1.Items.Add("Any other size")
        AxSftTree1.get_Item(I).Level = 2
        UpdateImages(I, PictureIconSmall.Image, SftTreeHAlignConstants.halignSftTreeRight)

        ' add imagelist samples

        ItemIndex = AxSftTree1.Items.Add("ImageLists")
        AxSftTree1.get_Item(ItemIndex).Level = 1
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "Complete ImageList support simplifies bitmap handling and can avoid the limited resource availability on earlier Windows versions."

        Dim C As Integer
        For C = 0 To imageList1.Images.Count - 1
            I = AxSftTree1.Items.Add("Image " & C)
            AxSftTree1.get_Item(I).Level = 2
            UpdateImageList(I, imageList1, C, SftTreeHAlignConstants.halignSftTreeRight)
        Next

        ' add color samples

        ItemIndex = AxSftTree1.Items.Add("Color Samples")
        AxSftTree1.get_Item(ItemIndex).Level = 1
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "Using the built-in color sample image, simple color selection can easily be implemented.  Color samples can display all colors available."

        AddColor("Black", System.Drawing.Color.Black)
        AddColor("Blue", System.Drawing.Color.Blue)
        AddColor("Cyan", System.Drawing.Color.Cyan)
        AddColor("Green", System.Drawing.Color.Lime)
        AddColor("Magenta", System.Drawing.Color.Magenta)
        AddColor("Red", System.Drawing.Color.Red)
        AddColor("White", System.Drawing.Color.White)
        AddColor("Yellow", System.Drawing.Color.Yellow)

        AddColor("3DDKSHADOW - Dark shadow for 3D elements", System.Drawing.SystemColors.ControlDarkDark)
        AddColor("3DFACE - Face color for 3D elements", System.Drawing.SystemColors.Control)
        AddColor("3DHILIGHT - Edges facing the light source", System.Drawing.SystemColors.ControlLightLight)
        AddColor("3DLIGHT - Edges facing the light source", System.Drawing.SystemColors.ControlLight)
        AddColor("3DSHADOW - Edges facing away from the light source", System.Drawing.SystemColors.ControlDark)
        AddColor("INFOBK - Background color for tooltip controls", System.Drawing.SystemColors.Info)
        AddColor("INFOTEXT - Text color for tooltip controls", System.Drawing.SystemColors.InfoText)
        AddColor("MENUTEXT - Text in menus", System.Drawing.SystemColors.MenuText)
        AddColor("ACTIVEBORDER - Active window border", System.Drawing.SystemColors.ActiveBorder)
        AddColor("ACTIVECAPTION - Active window caption", System.Drawing.SystemColors.ActiveCaption)
        AddColor("APPWORKSPACE - Background color MDI applications", System.Drawing.SystemColors.AppWorkspace)
        AddColor("BACKGROUND - Desktop", System.Drawing.SystemColors.Desktop)
        AddColor("BTNFACE - Face shading on push buttons", System.Drawing.SystemColors.Control)
        AddColor("BTNHILIGHT - Highlight color for buttons", System.Drawing.SystemColors.ControlLightLight)
        AddColor("BTNSHADOW - Edge shading on push buttons", System.Drawing.SystemColors.ControlDark)
        AddColor("BTNTEXT - Text on push buttons", System.Drawing.SystemColors.ControlText)
        AddColor("CAPTIONTEXT - Text in caption", System.Drawing.SystemColors.ActiveCaptionText)
        AddColor("GRAYTEXT - Grayed (disabled) text", System.Drawing.SystemColors.GrayText)
        AddColor("HIGHLIGHT - Selected Item(s)", System.Drawing.SystemColors.Highlight)
        AddColor("HIGHLIGHTTEXT - Text of selected item(s)", System.Drawing.SystemColors.HighlightText)
        AddColor("INACTIVEBORDER - Inactive window border", System.Drawing.SystemColors.InactiveBorder)
        AddColor("INACTIVECAPTION - Inactive window caption", System.Drawing.SystemColors.InactiveCaption)
        AddColor("INACTIVECAPTIONTEXT - Inactive caption text color", System.Drawing.SystemColors.InactiveCaptionText)
        AddColor("MENU - Menu background", System.Drawing.SystemColors.Menu)
        AddColor("SCROLLBAR - Scroll bar gray area", System.Drawing.SystemColors.ScrollBar)
        AddColor("WINDOW - Window background", System.Drawing.SystemColors.Window)
        AddColor("WINDOWFRAME - Window frame", System.Drawing.SystemColors.WindowFrame)
        AddColor("WINDOWTEXT - Text in windows", System.Drawing.SystemColors.WindowText)

        ' add predefined image samples

        ItemIndex = AxSftTree1.Items.Add("Predefined (Built-in) Pictures")
        AxSftTree1.get_Cell(ItemIndex, 1).Text = "Predefined images are available for commonly used items, such as check boxes, radio buttons, sort direction indicators and more..."

        ItemIndex = AxSftTree1.Items.Add("Check Boxes - Honors Windows Themes")
        AxSftTree1.get_Item(ItemIndex).Level = 1

        AddBuiltinImage("Enabled, Selected Check Box", SftPictureImageConstants.sftImageCheckboxYes, 14, 14)
        AddBuiltinImage("Disabled, Selected Check Box", SftPictureImageConstants.sftImageCheckboxYesDisabled, 14, 14)
        AddBuiltinImage("Enabled Check Box", SftPictureImageConstants.sftImageCheckboxNo, 14, 14)
        AddBuiltinImage("Disabled Check Box", SftPictureImageConstants.sftImageCheckboxNoDisabled, 14, 14)
        AddBuiltinImage("Enabled, Unknown Check Box", SftPictureImageConstants.sftImageCheckboxUnknown, 14, 14)
        AddBuiltinImage("Disabled, Unknown Check Box", SftPictureImageConstants.sftImageCheckboxUnknownDisabled, 14, 14)

        ItemIndex = AxSftTree1.Items.Add("Radio Buttons - Honors Windows Themes")
        AxSftTree1.get_Item(ItemIndex).Level = 1

        AddBuiltinImage("Enabled, Selected Radio Button", SftPictureImageConstants.sftImageRadioButtonYes, 14, 14)
        AddBuiltinImage("Disabled, Selected Radio Button", SftPictureImageConstants.sftImageRadioButtonYesDisabled, 14, 14)
        AddBuiltinImage("Enabled Radio Button", SftPictureImageConstants.sftImageRadioButtonNo, 14, 14)
        AddBuiltinImage("Disabled Radio Button", SftPictureImageConstants.sftImageRadioButtonNoDisabled, 14, 14)

        ItemIndex = AxSftTree1.Items.Add("Up/Down Buttons - Honors Windows Themes")
        AxSftTree1.get_Item(ItemIndex).Level = 1

        AddBuiltinImage("Enabled Up Button", SftPictureImageConstants.sftImageUp, 14, 14)
        AddBuiltinImage("Disabled Up Button", SftPictureImageConstants.sftImageUpDisabled, 14, 14)
        AddBuiltinImage("Enabled Down Button", SftPictureImageConstants.sftImageDown, 14, 14)
        AddBuiltinImage("Disabled Down Button", SftPictureImageConstants.sftImageDownDisabled, 14, 14)

        ItemIndex = AxSftTree1.Items.Add("Sort Direction Indicator")
        AxSftTree1.get_Item(ItemIndex).Level = 1

        AddBuiltinImage("Enabled Ascending Indicator", SftPictureImageConstants.sftImageSortAsc, 8, 8)
        AddBuiltinImage("Disabled Ascending Indicator", SftPictureImageConstants.sftImageSortAscDisabled, 8, 8)
        AddBuiltinImage("Enabled Descending Indicator", SftPictureImageConstants.sftImageSortDesc, 8, 8)
        AddBuiltinImage("Disabled Descending Indicator", SftPictureImageConstants.sftImageSortDescDisabled, 8, 8)


        AxSftTree1.RowHeaders.MakeOptimal() ' make the row headers optimal
        AxSftTree1.get_Column(0).MakeOptimal() ' make the first column optimal
        AxSftTree1.Items.RecalcHorizontalExtent() ' update horizontal scroll bar

        AxSftTree1.get_Item(0).Selected = True
        AxSftTree1.Items.Current = 0

        CopyImageFromCurrentItem()
    End Sub

    Private Sub AxSftTree1_ItemClick(ByVal sender As Object, ByVal e As AxSftTreeLib75._DSftTreeEvents_ItemClickEvent) Handles AxSftTree1.ItemClick
        Dim AreaType As SftTreeAreaTypeConstants
        AreaType = e.areaType
        If AreaType = SftTreeAreaTypeConstants.constSftTreeExpandAll Then
            AxSftTree1.get_Item(e.itemIndex).Expand(True, True)
        ElseIf AreaType = SftTreeAreaTypeConstants.constSftTreeColumn And e.colIndex = 0 Then
            SetSortDirection(Not m_SortDirection)
        ElseIf AreaType = SftTreeAreaTypeConstants.constSftTreeCellGraphic Then
            ToggleImage(AxSftTree1.get_Cell(e.itemIndex, e.colIndex).Image)
        ElseIf AreaType = SftTreeAreaTypeConstants.constSftTreeItem Then
            ToggleImage(AxSftTree1.get_Item(e.itemIndex).Image)
        ElseIf AreaType = SftTreeAreaTypeConstants.constSftTreeLabel Then
            ToggleImage(AxSftTree1.get_Item(e.itemIndex).LabelImage)
        End If
    End Sub

    Private Sub AxSftTree1_ItemDblClick(ByVal sender As Object, ByVal e As AxSftTreeLib75._DSftTreeEvents_ItemDblClickEvent) Handles AxSftTree1.ItemDblClick
        Dim AreaType As SftTreeAreaTypeConstants
        AreaType = e.areaType
        If AreaType = SftTreeAreaTypeConstants.constSftTreeColumnRes Then
            AxSftTree1.get_Column(e.colIndex).MakeOptimal() ' Make column width optimal
            AxSftTree1.Items.RecalcHorizontalExtent() ' Update horizontal scroll bar
        ElseIf AreaType = SftTreeAreaTypeConstants.constSftTreeColumn And e.colIndex = 0 Then
            SetSortDirection(Not m_SortDirection)
        ElseIf AreaType = SftTreeAreaTypeConstants.constSftTreeCellGraphic Then
            ToggleImage(AxSftTree1.get_Cell(e.itemIndex, e.colIndex).Image)
        End If
    End Sub

    Private Sub AxSftTree1_SelectionChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxSftTree1.SelectionChange
        CopyImageFromCurrentItem()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' update all cells that have a progress bar by incrementing the progress value
        Dim Items As Integer = AxSftTree1.Items.Count
        Dim Cols As Integer = AxSftTree1.ColumnsObj.Count
        For Item As Integer = 0 To Items - 1
            Dim CellObj As ISftTreeCell
            CellObj = AxSftTree1.get_Cell(Item, 0)
            If CellObj.ProgressMax > 0 Then
                CellObj.ProgressValue = (CellObj.ProgressValue + 4) Mod CellObj.ProgressMax
            End If
        Next
    End Sub
End Class

Last Updated 08/13/2020 - (email)
© 2024 Softel vdm, Inc.