SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftPrintPreview/DLL 2.0 - Print Preview Control (discontinued)
SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftDirectory 3.5 - File/Folder Control (discontinued)
SftMask/OCX 7.0 - Masked Edit Control
SftOptions 1.0 - Registry/INI Control (discontinued)
SftPrintPreview/OCX 1.0 - Print Preview Control (discontinued)
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftTabs/NET 6.0 - Tab Control (discontinued)
SftTree/NET 2.0 - Tree Control
This sample illustrates drag & drop.
The source code is located at C:\Program Files (x86)\Softelvdm\SftBox OCX 5.0\Samples\Visual Studio - VB.NET\DragDrop\Form1.vb or C:\Program Files\Softelvdm\SftBox OCX 5.0\Samples\Visual Studio - VB.NET\DragDrop\Form1.vb (on 32-bit Windows versions).
Private Sub closeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closeButton.Click
Application.Exit()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
comboSource.Items.Add("An Item")
comboSource.Items.Add("Another Item")
comboSource.Items.Add("Last Item")
comboSource.Columns.MakeOptimal(0)
comboSource.Items.RecalcHorizontalExtent(0)
comboTarget.Items.Add("A Source Item")
comboTarget.Items.Add("Another Source Item")
comboTarget.Items.Add("Last Source Item")
comboTarget.Columns.MakeOptimal(0)
comboTarget.Items.RecalcHorizontalExtent(0)
End Sub
Private Sub comboSource_DragStarting(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_DragStartingEvent) Handles comboSource.DragStarting
comboSource.OLEDrag()
End Sub
Private Sub comboSource_OLEStartDrag(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_OLEStartDragEvent) Handles comboSource.OLEStartDrag
e.allowedEffects = vbDropEffectCopy Or vbDropEffectMove
Dim textData As String = comboSource.get_Cell(comboSource.Items.Selection, 0).Text
e.data.SetData(textData, SftOLEClipboardConstants.sftCFText)
End Sub
Private Sub comboTarget_OLEDragOver(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_OLEDragOverEvent) Handles comboTarget.OLEDragOver
If e.state = SftBoxOLEDragOverConstants.enterSftBox Then
' Show the drop down portion
comboTarget.DropDown.Dropped = True
ElseIf e.state = SftBoxOLEDragOverConstants.leaveSftBox Then
' Hide the drop down portion with a delay, in case the
' user is moving from/to the static or drop down portion
comboTarget.DropDown.RollUp(500) ' 1/2 second
End If
End Sub
Private Sub comboTarget_OLEDragDrop(ByVal sender As Object, ByVal e As AxSftBoxLib50._ISftBoxEvents_OLEDragDropEvent) Handles comboTarget.OLEDragDrop
If e.data.GetFormat(SftOLEClipboardConstants.sftCFText) Then
Dim itemIndex As Integer
itemIndex = comboTarget.Items.Insert(e.data.GetData(SftOLEClipboardConstants.sftCFText), comboTarget.Items.DropIndex)
comboTarget.Items.Selection = itemIndex
End If
If e.data.GetFormat(SftOLEClipboardConstants.sftCFBitmap) Then
Dim itemIndex As Integer
itemIndex = comboTarget.Items.Insert("A Bitmap", comboTarget.Items.DropIndex)
Dim o As Object = e.data.GetData(SftOLEClipboardConstants.sftCFBitmap)
comboTarget.get_Item(itemIndex).Image.Picture = o 'as stdole.IPictureDisp
comboTarget.Items.Selection = itemIndex
End If
If e.data.GetFormat(SftOLEClipboardConstants.sftCFFiles) Then
Dim itemIndex As Integer = -1
Dim toIndex As Integer = comboTarget.Items.DropIndex
Dim s As String
For Each s In e.data.Files
itemIndex = comboTarget.Items.Insert(s, toIndex)
toIndex = toIndex + 1
Next
comboTarget.Items.Selection = itemIndex
End If
comboTarget.Columns.MakeOptimal(0)
comboTarget.Items.RecalcHorizontalExtent(0)
End Sub
Private Sub dragLabel_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dragLabel.MouseDown
dragLabel.DoDragDrop(dragLabel.Text, DragDropEffects.Copy)
End Sub
Private Sub pictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pictureBox1.MouseDown
dragLabel.DoDragDrop(pictureBox1.Image, DragDropEffects.Copy)
End Sub