Avatar billede nih Novice
09. september 2002 - 12:23 Der er 4 kommentarer og
1 løsning

VBA drag/drop

I Access har jeg et tree activeX, hvor jeg har kodet noget dragdrop, således at brugerne kan flytte de enkelte noder.

Problemmet er at holde det indenfor controllen, nu kan man trække en node til f.eks Excel, hvorefter den er slettet i mit 'træ'.

Hvordan undgår jeg det ?????

Niels
Avatar billede nih Novice
09. september 2002 - 12:24 #1
'************************* DRAG DROP ***********************

Private Sub ctlTree_OLEDragDrop(Data As Object, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim strkey As String, strText As String
    Dim nodnew As Node, nodDragged As Node

    If objTree.SelectedItem Is Nothing Then
    Else
        Set nodDragged = objTree.SelectedItem
        If objTree.DropHighlight Is Nothing Then
            strkey = nodDragged.Key
            strText = nodDragged.Text
            objTree.Nodes.Remove nodDragged.Index
            objTree.Nodes.Add , , strkey, strText
            Call loadTree(Mid(strkey, 3), 1)
            DoCmd.RunSQL "update tblNode set parrentid = 0 WHERE " & _
                "nodeid = " & Mid(strkey, 3)
        ElseIf nodDragged.Index <> objTree.DropHighlight.Index Then
            Set nodDragged.Parent = objTree.DropHighlight
            DoCmd.RunSQL "update tblNode set parrentid = " & _
                Mid(objTree.DropHighlight.Key, 3) & " WHERE " & _
                "nodeid = " & Mid(nodDragged.Key, 3)
        End If
    End If
    Set nodDragged = Nothing
  Set objTree.DropHighlight = Nothing
 
 
End Sub

Private Sub ctlTree_OLEDragOver(Data As Object, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single, State As Integer)
    If objTree.SelectedItem Is Nothing Then
        objTree.SelectedItem = ctlTree.HitTest(x, y)
    End If
    objTree.DropHighlight = ctlTree.HitTest(x, y)
End Sub

Private Sub ctlTree_OLEStartDrag(Data As Object, AllowedEffects As Long)
    ctlTree.SelectedItem = Nothing
End Sub

'*************************** DRAG DROP SLUT **********
Avatar billede nih Novice
09. september 2002 - 12:27 #2
Hvis nogen ved hvorledes man bruger parametrene:
        Data As Object, Effect As Long

eller har links til gode eksempler, er de også MEGET velkomne  :o)

Niels
Avatar billede 3xa Nybegynder
12. september 2002 - 09:48 #3
Jeg kunne egentlig godt tænke mig at se det. Er det i en Access 97 database?
Avatar billede nih Novice
12. september 2002 - 10:35 #4
2000 - men har du ikke noget om drag/drop i vb
læg din e-mail
Avatar billede nih Novice
15. september 2002 - 17:34 #5
lukker !!!

3xa -> hvis du vil se det, er du nødt til at lægge din mail.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester