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
An object is dragged over the control.
VB.NET | Private Sub object_OLEDragOver(ByVal sender As Object, ByVal e As EventArgumentType) Handles object.OLEDragOver |
VB | Private Sub object_OLEDragOver(Data As DataObject, TargetIndex As Long, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As SftBoxOLEDragOverConstants) |
C#.NET | void object_OLEDragOver(object sender, EventArgumentType e); |
VC++ | void OnOLEDragOverobject(struct IVDMDataObject** Data, long* TargetIndex, long* Effect, short* Button, short* Shift, float* x, float* y, enum SftBoxOLEDragOverConstants* State); |
C | HRESULT OnOLEDragOverobject(struct IVDMDataObject** Data, long* TargetIndex, long* Effect, short* Button, short* Shift, float* x, float* y, enum SftBoxOLEDragOverConstants* State); |
object
Data
A DataObject object containing formats that the source will provide and, in addition, possibly the data for those formats. If no data is contained in the DataObject, it is provided when the control calls the GetData method. The SetData and Clear methods cannot be used here.
TargetIndex
The default drop target. On return from the OLEDragOver event this item will become the new drop target (see Items.DropIndex). TargetIndex can be modified to cause a different item to be the drop target. It can be set to -1 in which case no drop target exists.
Effect
A Long variable set by the source object identifying all effects it supports. This parameter must be correctly set by the target component during this event. The value of Effect is determined by logically Or'ing together all active effects. The target component should check these effects and other parameters to determine which actions are appropriate for it, and then set this parameter to one of the allowable effects (as specified by the source) to specify which actions will be performed if the user drops the selection on the component.
Effect | Value | Description |
---|---|---|
vbDropEffectNone | 0 | Drop target cannot accept the data. |
vbDropEffectCopy | 1 | Drop results in a copy of data from the source to the target. The original data is unaltered by the drag operation. |
vbDropEffectMove | 2 | Drop results in data being moved from the drag source to the drop source. The drag source should remove the data from itself after the move. |
Note: Only Visual Basic offers the predefined constants vbDropEffectNone, etc. When using other languages, the constants have to be defined explicitly by the application.
Button
Describes the button(s) that are pressed. The Button argument is a bit field with bits corresponding to the left button, right button and middle button. These bits correspond to the values shown below. The bits set indicate the button that caused the event.
Button | Value | Description |
---|---|---|
constSftBoxLeftButton | 1 | The left mouse button was pressed. |
constSftBoxRightButton | 2 | The middle mouse button was pressed. |
constSftBoxMiddleButton | 4 | The right mouse button was pressed. |
Shift
Describes the state of the SHIFT, CONTROL and ALT keys. A bit is set if the key is down. The Shift argument is a bit field with bits corresponding to the SHIFT, CONTROL and ALT keys. It indicates the state of these keys. Some, all, or none of the bits can be set, indicating which of the keys are pressed.
Shift | Value | Description |
---|---|---|
constSftBoxShiftMask | 1 | The SHIFT key is down. |
constSftBoxCtrlMask | 2 | The CONTROL key is down. |
constSftBoxAltMask | 4 | The ALT key is down. |
xPos
The x coordinate of the mouse cursor. The units used depend on the container (Visual Basic, Visual C++, etc.) and the coordinate system used.
yPos
The y coordinate of the mouse cursor. The units used depend on the container (Visual Basic, Visual C++, etc.) and the coordinate system used.
State
Defines the transition state of the data being dragged in relation to the target control.
State | Value | Description |
---|---|---|
enterSftBox | 0 | Source component is being dragged within the range of a target. |
leaveSftBox | 1 | Source component is being dragged out of the range of a target. |
overSftBox | 2 | Source component has moved from one position in the target to another. |
The OLEDragOver event occurs when an object is dragged over the control.
The OLEDragOver event only occurs if the OLEDropMode property is set to OLEDropSftBoxManual.
The source control should always mask values from the Effect parameter to insure compatibility with future implementations of OLE drag & drop. Presently, only three bits in the Effect parameter are used. In future versions other bits may be used. As a precaution against future problems, drag sources and drop targets should mask these values appropriately before performing any comparisons.
For example, a source component should not compare an Effect against, for example, vbDropEffectCopy, such as:
If Effect = vbDropEffectCopy...
Instead, the source component should mask the value or values being sought, as here:
If (Effect And vbDropEffectCopy) = vbDropEffectCopy...
-or-
If (Effect And vbDropEffectCopy)...
This allows for the definition of new drop effects in future versions while preserving compatibility with existing code.
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
Option Explicit Private Sub ComboTarget_OLEDragOver(Data As SftBoxLib50.DataObject, TargetIndex As Long, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As SftBoxLib50.SftBoxOLEDragOverConstants) If State = enterSftBox Then ' Show the drop down portion ComboTarget.DropDown.Dropped = True ElseIf State = 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(Data As SftBoxLib50.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim ItemIndex As Long If Data.GetFormat(sftCFText) Then
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
See Also SftBox Object | Object Hierarchy