Imports AxSftTreeLib70
Imports SftTreeLib70
Imports Softelvdm.OLEConvert
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Public WithEvents Picture2 As System.Windows.Forms.PictureBox
Public WithEvents Text1 As System.Windows.Forms.TextBox
Public WithEvents Command1 As System.Windows.Forms.Button
Public WithEvents Picture1 As System.Windows.Forms.PictureBox
Public WithEvents Label5 As System.Windows.Forms.Label
Public WithEvents DropTarget As System.Windows.Forms.Label
Public WithEvents DropTargetPic As System.Windows.Forms.PictureBox
Public WithEvents Label4 As System.Windows.Forms.Label
Public WithEvents Label3 As System.Windows.Forms.Label
Public WithEvents Label2 As System.Windows.Forms.Label
Public WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents AxSftTree1 As AxSftTreeLib70.AxSftTree
Friend WithEvents SftHelperComponent1 As Softelvdm.OCXHelper.SftHelperComponent
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
Me.Picture2 = New System.Windows.Forms.PictureBox()
Me.Text1 = New System.Windows.Forms.TextBox()
Me.Command1 = New System.Windows.Forms.Button()
Me.Picture1 = New System.Windows.Forms.PictureBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.DropTarget = New System.Windows.Forms.Label()
Me.DropTargetPic = New System.Windows.Forms.PictureBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.AxSftTree1 = New AxSftTreeLib70.AxSftTree()
Me.SftHelperComponent1 = New Softelvdm.OCXHelper.SftHelperComponent(Me.components)
CType(Me.AxSftTree1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Picture2
'
Me.Picture2.BackColor = System.Drawing.SystemColors.Control
Me.Picture2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.Picture2.Cursor = System.Windows.Forms.Cursors.Default
Me.Picture2.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Picture2.ForeColor = System.Drawing.SystemColors.ControlText
Me.Picture2.Image = CType(resources.GetObject("Picture2.Image"), System.Drawing.Bitmap)
Me.Picture2.Location = New System.Drawing.Point(302, 163)
Me.Picture2.Name = "Picture2"
Me.Picture2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Picture2.Size = New System.Drawing.Size(25, 17)
Me.Picture2.TabIndex = 30
Me.Picture2.TabStop= False
'
'Text1
'
Me.Text1.AcceptsReturn = True
Me.Text1.AutoSize= False
Me.Text1.BackColor = System.Drawing.SystemColors.Window
Me.Text1.Cursor = System.Windows.Forms.Cursors.IBeam
Me.Text1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Text1.ForeColor = System.Drawing.SystemColors.WindowText
Me.Text1.Location = New System.Drawing.Point(336, 163)
Me.Text1.MaxLength = 0
Me.Text1.Name = "Text1"
Me.Text1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Text1.Size = New System.Drawing.Size(96, 19)
Me.Text1.TabIndex = 28
Me.Text1.Text = "Text1"
'
'Command1
'
Me.Command1.BackColor = System.Drawing.SystemColors.Control
Me.Command1.Cursor = System.Windows.Forms.Cursors.Default
Me.Command1.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Command1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Command1.ForeColor = System.Drawing.SystemColors.ControlText
Me.Command1.Location = New System.Drawing.Point(366, 6)
Me.Command1.Name = "Command1"
Me.Command1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Command1.Size = New System.Drawing.Size(73, 27)
Me.Command1.TabIndex = 25
Me.Command1.Text = "Close"
'
'Picture1
'
Me.Picture1.BackColor = System.Drawing.SystemColors.Control
Me.Picture1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.Picture1.Cursor = System.Windows.Forms.Cursors.Default
Me.Picture1.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Picture1.ForeColor = System.Drawing.SystemColors.ControlText
Me.Picture1.Image = CType(resources.GetObject("Picture1.Image"), System.Drawing.Bitmap)
Me.Picture1.Location = New System.Drawing.Point(270, 163)
Me.Picture1.Name = "Picture1"
Me.Picture1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Picture1.Size = New System.Drawing.Size(25, 17)
Me.Picture1.TabIndex = 27
Me.Picture1.TabStop = False
'
'Label5
'
Me.Label5.BackColor = System.Drawing.SystemColors.Control
Me.Label5.Cursor = System.Windows.Forms.Cursors.Default
Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label5.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label5.Location = New System.Drawing.Point(6, 339)
Me.Label5.Name = "Label5"
Me.Label5.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label5.Size = New System.Drawing.Size(433, 49)
Me.Label5.TabIndex = 34
Me.Label5.Text = "Drag items from the tree control to the drop target shown above. Or drag the ima" & _
"ges or text from the drag sources above. You can also use Windows Explorer as a" & _
" drag source or simply drag && drop within the tree control."
'
'DropTarget
'
Me.DropTarget.AllowDrop = True
Me.DropTarget.BackColor = System.Drawing.SystemColors.Control
Me.DropTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.DropTarget.Cursor = System.Windows.Forms.Cursors.Default
Me.DropTarget.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.DropTarget.ForeColor = System.Drawing.SystemColors.ControlText
Me.DropTarget.Location = New System.Drawing.Point(294, 299)
Me.DropTarget.Name = "DropTarget"
Me.DropTarget.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.DropTarget.Size = New System.Drawing.Size(145, 25)
Me.DropTarget.TabIndex = 33
'
'DropTargetPic
'
Me.DropTargetPic.Cursor = System.Windows.Forms.Cursors.Default
Me.DropTargetPic.Location = New System.Drawing.Point(270, 299)
Me.DropTargetPic.Name = "DropTargetPic"
Me.DropTargetPic.Size = New System.Drawing.Size(25, 25)
Me.DropTargetPic.TabIndex = 35
Me.DropTargetPic.TabStop = False
'
'Label4
'
Me.Label4.BackColor = System.Drawing.SystemColors.Control
Me.Label4.Cursor = System.Windows.Forms.Cursors.Default
Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label4.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label4.Location = New System.Drawing.Point(270, 238)
Me.Label4.Name = "Label4"
Me.Label4.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label4.Size = New System.Drawing.Size(161, 56)
Me.Label4.TabIndex = 32
Me.Label4.Text = "Drag items from the tree control to the drop target below. In this example, only" & _
" one item is shown."
'
'Label3
'
Me.Label3.BackColor = System.Drawing.SystemColors.Control
Me.Label3.Cursor = System.Windows.Forms.Cursors.Default
Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label3.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label3.Location = New System.Drawing.Point(270, 211)
Me.Label3.Name = "Label3"
Me.Label3.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label3.Size = New System.Drawing.Size(161, 25)
Me.Label3.TabIndex = 31
Me.Label3.Text = "Drop Target"
'
'Label2
'
Me.Label2.BackColor = System.Drawing.SystemColors.Control
Me.Label2.Cursor = System.Windows.Forms.Cursors.Default
Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label2.Location = New System.Drawing.Point(270, 51)
Me.Label2.Name = "Label2"
Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label2.Size = New System.Drawing.Size(161, 25)
Me.Label2.TabIndex = 29
Me.Label2.Text = "Drag Sources"
'
'Label1
'
Me.Label1.BackColor = System.Drawing.SystemColors.Control
Me.Label1.Cursor = System.Windows.Forms.Cursors.Default
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label1.Location = New System.Drawing.Point(270, 83)
Me.Label1.Name = "Label1"
Me.Label1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label1.Size = New System.Drawing.Size(161, 73)
Me.Label1.TabIndex = 26
Me.Label1.Text = "Drag the images or text shown below to the tree control or use Windows Explorer t" & _
"o drag one or more file names and drop them on the tree control."
'
'AxSftTree1
'
Me.AxSftTree1.Location = New System.Drawing.Point(8, 6)
Me.AxSftTree1.Name = "AxSftTree1"
Me.AxSftTree1.OcxState = CType(resources.GetObject("AxSftTree1.OcxState"), System.Windows.Forms.AxHost.State)
Me.AxSftTree1.Size = New System.Drawing.Size(257, 329)
Me.AxSftTree1.TabIndex = 24
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.CancelButton = Me.Command1
Me.ClientSize = New System.Drawing.Size(445, 395)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Picture2, Me.Text1, Me.Command1, Me.Picture1, Me.Label5, Me.DropTarget, Me.DropTargetPic, Me.Label4, Me.Label3, Me.Label2, Me.Label1, Me.AxSftTree1})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.Name = "Form1"
Me.Text = "Softel vdm, Inc. - DragDrop Sample"
CType(Me.AxSftTree1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
'--locate-marker--
Private Sub Command1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Command1.Click
Application.Exit()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DropTargetPic.AllowDrop = True
Dim i As Integer
AxSftTree1.Items.Add("Item 0")
i = AxSftTree1.Items.Add("Item 1")
AxSftTree1.get_Item(i).Level = 1
i = AxSftTree1.Items.Add("Item 2")
AxSftTree1.get_Item(i).Level = 2
i = AxSftTree1.Items.Add("Item 3")
AxSftTree1.get_Item(i).Level = 1
End Sub
Private Sub AxSftTree1_DragStarting(ByVal sender As Object, ByVal e As AxSftTreeLib70._DSftTreeEvents_DragStartingEvent) Handles AxSftTree1.DragStarting
AxSftTree1.CancelMode() ' .NET controls drag&drop, so tree control needs to cancel
' This section demonstrates drag (&drop) using the .NET DoDragDrop method
' THIS CODE IS ONLY USED IF DRAGMETHOD IS SET TO ( 1 - Manual ) or SftTreeDragMethodConstants.dragSftTreeManual
Dim curr As Integer
curr = AxSftTree1.Items.Current
' cell text
Dim Data As System.Windows.Forms.DataObject
Data = New System.Windows.Forms.DataObject()
Data.SetData(DataFormats.Text, AxSftTree1.get_Cell(curr, 0).Text)
' item picture
Dim img As SftPictureObject
If AxSftTree1.get_Item(curr).Image.Type = SftPictureTypeConstants.sftTypeIDispatch Then
img = AxSftTree1.get_Item(curr).Image
Else
If AxSftTree1.get_Item(curr).Expanded Then
img = AxSftTree1.Items.ItemImageExpanded
ElseIf AxSftTree1.get_Item(curr).DependentAllCount > 0 Then
img = AxSftTree1.Items.ItemImageExpandable
Else
img = AxSftTree1.Items.ItemImageLeaf
End If
End If
Dim sendingImage As Image = OLECvt.ToImage(img.Picture)
Data.SetData(DataFormats.Bitmap, True, sendingImage)
DoDragDrop(Data, DragDropEffects.Copy)
End Sub
Private Sub AxSftTree1_OLEStartDrag(ByVal sender As Object, ByVal e As AxSftTreeLib70._DSftTreeEvents_OLEStartDragEvent) Handles AxSftTree1.OLEStartDrag
' This section demonstrates drag&drop) using OLE mechanisms built into this control
' THIS CODE IS ONLY USED IF DRAGMETHOD IS SET TO ( 3 - OLEDrag ) or SftTreeDragMethodConstants.dragSftTreeOLE
Dim curr As Integer
curr = AxSftTree1.Items.Current
' cell text
e.data.SetData(AxSftTree1.get_Cell(curr, 0).Text, SftOLEClipboardConstants.sftCFText)
' item picture
Dim img As SftPictureObject
If AxSftTree1.get_Item(curr).Image.Type = SftPictureTypeConstants.sftTypeIDispatch Then
img = AxSftTree1.get_Item(curr).Image
Else
If AxSftTree1.get_Item(curr).Expanded Then
img = AxSftTree1.Items.ItemImageExpanded
ElseIf AxSftTree1.get_Item(curr).DependentAllCount > 0 Then
img = AxSftTree1.Items.ItemImageExpandable
Else
img = AxSftTree1.Items.ItemImageLeaf
End If
End If
e.data.SetData(img.Picture, SftOLEClipboardConstants.sftCFDIB)
e.data.SetData(img.Picture, SftOLEClipboardConstants.sftCFBitmap)
e.allowedEffects = 3
End Sub
Private Sub DropTarget_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DropTarget.DragEnter
If e.Data.GetDataPresent(DataFormats.Text, True) Or e.Data.GetDataPresent(DataFormats.Bitmap, True) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub DropTarget_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DropTarget.DragDrop
Dim arrayOfFormats As [String]() = e.Data.GetFormats(True) ' informational
If e.Data.GetDataPresent(DataFormats.Text, True) Then
DropTarget.Text = e.Data.GetData(DataFormats.Text, True)
End If
If e.Data.GetDataPresent(DataFormats.Bitmap, True) Then
DropTargetPic.Image = e.Data.GetData(DataFormats.Bitmap, True)
End If
End Sub
Private Sub DropTargetPic_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DropTargetPic.DragEnter
If e.Data.GetDataPresent(DataFormats.Bitmap, True) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub DropTargetPic_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DropTargetPic.DragDrop
Dim arrayOfFormats As [String]() = e.Data.GetFormats(True) ' informational
If e.Data.GetDataPresent(DataFormats.Bitmap, True) Then
Dim O As Object = e.Data.GetData(DataFormats.Bitmap, True)
DropTargetPic.Image = O
End If
End Sub
Private Sub AxSftTree1_OLEDragDrop(ByVal sender As Object, ByVal e As AxSftTreeLib70._DSftTreeEvents_OLEDragDropEvent) Handles AxSftTree1.OLEDragDrop
' get horizontal extent and width of column 0
Dim horzExtent As Integer
horzExtent = AxSftTree1.Items.HorizontalExtentPix
Dim firstColumnWidth As Integer
firstColumnWidth = AxSftTree1.get_Column(0).WidthPix
Dim insertAt As Integer
insertAt = AxSftTree1.Items.DropHighlight
If insertAt < 0 Then Exit Sub
If e.data.GetFormat(SftOLEClipboardConstants.sftCFText) Then
Dim lvl As Integer
lvl = AxSftTree1.get_Item(insertAt).Level
Dim str As String
str = e.data.GetData(SftOLEClipboardConstants.sftCFText)
Dim newItem As Integer
newItem = AxSftTree1.Items.Insert(insertAt + 1, str)
AxSftTree1.get_Item(newItem).Level = lvl + 1
End If
If e.data.GetFormat(SftOLEClipboardConstants.sftCFDIB) Then
AxSftTree1.get_Cell(insertAt, 0).Image.Picture = e.data.GetData(SftOLEClipboardConstants.sftCFDIB)
AxSftTree1.get_Cell(insertAt, 0).ImageHAlign = SftTreeHAlignConstants.halignSftTreeRight
End If
If e.data.GetFormat(SftOLEClipboardConstants.sftCFBitmap) Then
AxSftTree1.get_Cell(insertAt, 0).Image.Picture = e.data.GetData(SftOLEClipboardConstants.sftCFBitmap)
AxSftTree1.get_Cell(insertAt, 0).ImageHAlign = SftTreeHAlignConstants.halignSftTreeRight
End If
If e.data.GetFormat(SftOLEClipboardConstants.sftCFFiles) Then
AxSftTree1.BulkUpdate = True
Dim lvl As Integer
lvl = AxSftTree1.get_Item(insertAt).Level
Dim newItem As Integer
newItem = insertAt + 1
Dim i As Integer
For i = e.data.Files.Count To 1 Step -1
newItem = AxSftTree1.Items.Insert(newItem, e.data.Files(i))
AxSftTree1.get_Item(newItem).Level = lvl + 1
Next
AxSftTree1.BulkUpdate = False
End If
' make horizontal extent and width of column 0 wider than previous
' setting, but never smaller
AxSftTree1.ColumnsObj.MakeOptimal()
AxSftTree1.Items.RecalcHorizontalExtent()
If horzExtent > AxSftTree1.Items.HorizontalExtent Then
AxSftTree1.Items.HorizontalExtent = horzExtent
End If
If firstColumnWidth > AxSftTree1.get_Column(0).WidthPix Then
AxSftTree1.get_Column(0).WidthPix = firstColumnWidth
End If
End Sub
Private Sub Picture1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Picture1.MouseDown
Dim Data As System.Windows.Forms.DataObject
Data = New System.Windows.Forms.DataObject()
Data.SetData(DataFormats.Bitmap, True, Picture1.Image)
DoDragDrop(Data, DragDropEffects.Copy)
End Sub
Private Sub Picture2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Picture2.MouseDown
Dim Data As System.Windows.Forms.DataObject
Data = New System.Windows.Forms.DataObject()
Data.SetData(DataFormats.Dib, True, Picture2.Image)
DoDragDrop(Data, DragDropEffects.Copy)
End Sub
Private Sub Text1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Text1.MouseDown
Dim Data As System.Windows.Forms.DataObject
Data = New System.Windows.Forms.DataObject()
Data.SetData(DataFormats.Text, Text1.Text)
DoDragDrop(Data, DragDropEffects.Copy)
End Sub
End Class