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 - CSharp\DragDrop\Form1.cs or C:\Program Files\Softelvdm\SftBox OCX 5.0\Samples\Visual Studio - CSharp\DragDrop\Form1.cs (on 32-bit Windows versions).
private void cancelButton_Click(object sender, System.EventArgs e) { Application.Exit(); } private void comboTarget_DragOver(object sender, System.Windows.Forms.DragEventArgs e) { MessageBox.Show("Hi"); } private void Form1_Load(object sender, System.EventArgs e) { 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); } private void comboSource_DragStarting(object sender, AxSftBoxLib50._ISftBoxEvents_DragStartingEvent e) { comboSource.OLEDrag(); } private void comboSource_OLEStartDrag(object sender, AxSftBoxLib50._ISftBoxEvents_OLEStartDragEvent e) { e.allowedEffects = vbDropEffectCopy | vbDropEffectMove; string textData = comboSource.get_Cell(comboSource.Items.Selection, 0).Text; e.data.SetData(textData, SftOLEClipboardConstants.sftCFText); } private void comboTarget_OLEDragOver(object sender, AxSftBoxLib50._ISftBoxEvents_OLEDragOverEvent e) { if (e.state == SftBoxOLEDragOverConstants.enterSftBox) { // Show the drop down portion comboTarget.DropDown.Dropped = true; } else if (e.state == SftBoxOLEDragOverConstants.leaveSftBox) { // 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 } } private void comboTarget_OLEDragDrop(object sender, AxSftBoxLib50._ISftBoxEvents_OLEDragDropEvent e) { if (e.data.GetFormat((short) SftOLEClipboardConstants.sftCFText)) { int itemIndex = comboTarget.Items.Insert(e.data.GetData(SftOLEClipboardConstants.sftCFText) as string, comboTarget.Items.DropIndex); comboTarget.Items.Selection = itemIndex; } if (e.data.GetFormat((short) SftOLEClipboardConstants.sftCFBitmap)) { int itemIndex = comboTarget.Items.Insert("A Bitmap", comboTarget.Items.DropIndex); object o = e.data.GetData(SftOLEClipboardConstants.sftCFBitmap); comboTarget.get_Item(itemIndex).Image.Picture = o as stdole.IPictureDisp; comboTarget.Items.Selection = itemIndex; } if (e.data.GetFormat((short) SftOLEClipboardConstants.sftCFFiles)) { int itemIndex = -1; int toIndex = comboTarget.Items.DropIndex; foreach (string s in e.data.Files) { itemIndex = comboTarget.Items.Insert(s, toIndex); toIndex = toIndex + 1; } comboTarget.Items.Selection = itemIndex; } comboTarget.Columns.MakeOptimal(0); comboTarget.Items.RecalcHorizontalExtent(0); } private void dragLabel_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { dragLabel.DoDragDrop(dragLabel.Text, DragDropEffects.Copy); } private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { dragLabel.DoDragDrop(pictureBox1.Image, DragDropEffects.Copy); }