Item ermitteln über dem die Maus während Drag/Drop ist
Verfasst: 29.09.2014 14:05
Hallo zusammen,
hier ein kleiner Source:
Wie kann ich hier im Callback das Item ermitteln bei dem sich (während Drag/Drop Aktion) gerade die Maus befindet um den Callback mit ProcedureReturn #False zu verlassen wenn die Maus über einem Item ist wo kein Drop erlaubt sein soll?
Danke schon mal im Voraus.
NicknameFJ
hier ein kleiner Source:
Code: Alles auswählen
EnableExplicit
#Main_Window = 1
#TreeView = 1
Procedure DropCallback(ZielHandle, Status, Format, Aktion, x, y)
; Wie kann ich hier im Callback das Item ermitteln über dem während eines Drag/Drop gerade die Maus ist um
; ggfs. den Callback mit Procedurereturn #False zu verlassen, um bei den Items bei denen kein Drop möglich sein soll
; das Sperrsysmbol anzeigen zu lassen
; geht wohl nur mit WIN-API da GetGadgetState(#TreeView) nicht geht siehe folgenden Debug
Debug GetGadgetState(#TreeView)
ProcedureReturn #True
EndProcedure
Define i,j, Ebene,Event, GAdget, Quit, Pos
If OpenWindow(#Main_Window,0,0,500,300,"TreeGadget",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
TreeGadget(#TreeView,0,0,500,300)
For i = 1 To 10
For j = 1 To 4
Ebene = 0
If j > 1
Ebene = 1
EndIf
AddGadgetItem(#TreeView,-1,"Item "+ i +" - " + Chr(64+j),0,Ebene)
Next
Next
EnableGadgetDrop(#TreeView,#PB_Drop_Files,#PB_Drag_Copy)
SetDropCallback(@DropCallback())
Repeat
Event = WaitWindowEvent()
Gadget = EventGadget()
Select event
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_GadgetDrop
Select Gadget
Case #TreeView
Pos = GetGadgetState(#TreeView)
If Pos <> -1
Debug GetGadgetItemText(#TreeView,Pos)
EndIf
EndSelect
EndSelect
Until Quit = 1
EndIf
Danke schon mal im Voraus.
NicknameFJ