Problem TREEVIEW - Drag and Drop

01/11/2007 - 00:33 von david.didonato | Report spam
hallo zusammen

folgende situation:

habe ein TreeView in einem Formular erstellt und alles vorbereitet für
Drag and Drop. Habe ein 2. Formular mit einem ungebundenen Textfeld.

Hier der Code auf im TreeView Formular:

***
Private Sub Tree_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Long, ByVal Y As Long)

DragStart Me

End Sub

Private Sub Tree_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Long, ByVal Y As Long)

DragStop

End Sub
***

Hier der Code auf dem 2. Formular:
***
Private Sub Dest_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)

DropDetect Me, Me!Dest, Button, Shift, X, Y
'Dest = g_sKey
End Sub
***

Hier der Code des Moduls (vermutlich bekannt, Drag and Drop
simulieren):
***
Dim DragFrm As Form
Dim DragCtrl As Control
Dim DropTime

Const MAX_DROP_TIME = 0.1

Dim CurrentMode As Integer
Const NO_MODE = 0
Const DROP_MODE = 1
Const DRAG_MODE = 2

Sub DragStart(SourceFrm As Form)
' NOTE: You should not use Screen.ActiveForm in place of
' SourceFrm because you may be dragging from a subform.
Set DragFrm = SourceFrm
Set DragCtrl = Screen.ActiveControl
CurrentMode = DRAG_MODE
End Sub

Sub DragStop()
CurrentMode = DROP_MODE
DropTime = Timer
End Sub

Sub DropDetect(DropFrm As Form, DropCtrl As Control, _
Button As Integer, Shift As Integer, _
X As Single, Y As Single)
' If a drop hasn't happened, then exit.
If CurrentMode <> DROP_MODE Then Exit Sub
CurrentMode = NO_MODE

' The timer interval is permitted between the MouseUp event and
' the MouseMove event. This ensures that the MouseMove event does
' not invoke the Drop procedure unless it is the MouseMove event
' that Microsoft Access automatically fires for the Drop control
' following the MouseUp event of a drag control. Subsequent
' MouseMove events will fail the timer test and be ignored.

If Timer - DropTime > MAX_DROP_TIME Then Exit Sub

' Did we drag/drop onto ourselves?
If (DragCtrl.Name <> DropCtrl.Name) Or _
(DragFrm.hWnd <> DropFrm.hWnd) Then
' If not, then a successful drag/drop occurred.
DragDrop DragFrm, DragCtrl, DropFrm, DropCtrl, Button, Shift, X, Y
End If
End Sub


Sub DragDrop(DragFrm As Form, DragCtrl As Control, DropFrm As Form,
DropCtrl As Control, _
Button As Integer, Shift As Integer, X As Single, Y As
Single)
' Which form was dropped on?
' It is a good idea to use the DragDrop procedure to
' determine which drag-and-drop operation occurred; then call
' appropriate code to handle the special cases.
Select Case DropFrm.Name
Case Else
' For all other cases, copy contents of Drag to Drop
' control.
On Error Resume Next
DropCtrl = DragCtrl
If Err Then MsgBox Error$
End Select
End Sub

***

Nun mein Problem. Wenn ich Drag und Drop mache von TreeView zu 2.
Formular funktioniert alles tadellos. Was ich nicht möchte ist, dass
der Eintrag im TreeView nicht gelöscht wirdIst das überhaupt
möglich ???

wàre sehr wichtig

Herzlichen Dank für die Hilfe

David Di Donato
 

Lesen sie die antworten

#1 Thomas Möller
01/11/2007 - 09:47 | Warnen spam
Hallo David,

schrieb:
Nun mein Problem. Wenn ich Drag und Drop mache von TreeView zu 2.
Formular funktioniert alles tadellos. Was ich nicht möchte ist, dass
der Eintrag im TreeView nicht gelöscht wirdIst das überhaupt
möglich ???



bei doppelter Verneinung frage ich immer gerne nach. Was möchtest Du
jetzt genau? Soll der ursprüngliche Eintrag gelöscht werden odeer nicht?

CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen