Seite 1 von 1

Fragen zu Drag and Drop

Verfasst: 21. November 2018, 18:34
von satmax
Hat hier schon jemand Erfahrung mit Drag and Drop?

Ich bräuchte das für den Scheduler (2 Scheduler Drag and Drop von einem zum andern).

Ich habe versucht DnD zu aktivieren und mir dafür einen Event zu erzeugen, leider passiert da gar nichts. es wird kein Even ausgelöst:

Code: Alles auswählen

SCH_OpenOrders..DndSource=dndProgram
SCH_OpenOrders..DndTarget=dndProgram
SCH_Main..DndSource=dndNone
SCH_Main..DndTarget=dndProgram

DnDEvent("FuncDragOver", "SCH_OpenOrders", dndBeginDrag)

DnDEvent("FuncDragOver", "SCH_OpenOrders", dndDragOver)
DnDEvent("FuncDrop", "SCH_OpenOrders", dndDrop)
DnDEvent("FuncDrop", "SCH_Main", dndDrop)

Re: Fragen zu Drag and Drop

Verfasst: 22. November 2018, 12:37
von Herbert
Innerhalb des Programms willst du was herumschieben?

Den Event löst du aus, indem du diesen dem Objekt explizit zuteilst

Code: Alles auswählen

Event("MeineProzedur","MeinDialogElement",WM_....)
Zudem musst ev. den dndBeginDrag verwenden

Code: Alles auswählen

DnDEvent(DndBeginningOfDragFunktion, MeinDialogElement,dndBeginDrag)		// Drag von hier weg für Kopie!
Falls Dateien aus dem Windows-Explorer her müssen, WM_Dropfiles verwenden und Exploreraccept(true,"MeinDialogElement") einsetzen.

Re: Fragen zu Drag and Drop

Verfasst: 22. November 2018, 22:29
von satmax
Ja, genau. Im Prinzip habe ich zwei Scheduler Controls, links und rechts. Und da will ich vom rechten auf das linke Control mit DnD etwas verschieben.

Bei beiden Scheduler stehe ich in der Tagesansicht. Mein erstes Problem ist schon, nehme ich einen Eintrag aus dem rechten Scheduler und ziehe in nach links, beginnt der rechter Scheduler sofort Tageweise zurückzublättern, der Termin wird also innerhalb des rechten Schedulers verschoben....

Event("procdndBeginDrag","SCH_OpenOrders",WM_LBUTTONDOWN) wird aufgerufen, aber der Scheduler verschiebt den Termin innerhalb des Schedulers, auf den linken Scheduler komme ich so nicht....

Re: Fragen zu Drag and Drop

Verfasst: 23. November 2018, 17:56
von Herbert
Hm, ich fürchte, der Scheduler hat bereits ein Drag und Drop implementiert, um Elemente innerhalb sich selber verschieben zu können...

Ja, da ist der Prozess "Moving an appointment". Den sollte man disablen können?

Alternativ auf den recheten Mausklick ins Popup-Menü einbauen mit der Frage, verschieben zu wollen (ohne Drag&Drop)

Re: Fragen zu Drag and Drop

Verfasst: 23. November 2018, 19:10
von satmax
Ja, ich habe einen Ansatz der Prinzipiell funktioniert, via Mausevent, mal sehen wie weit ich komme. Grundsätzlich geht es.

Re: Fragen zu Drag and Drop

Verfasst: 23. November 2018, 22:12
von satmax
Mit SchedulerSelectMinus() kann ich ein Appoinment deselektieren, gibt es so etwas auch für Ressourcen? Ich möchte eine / alle Ressourcen deselektieren, finde aber nichts dafür, bin ich blind? :huh:

Re: Fragen zu Drag and Drop

Verfasst: 23. November 2018, 22:32
von satmax
Zum deselektieren von Ressourcen habe ich nichts gefunden, aber mein DnD mit zwei Schedulern funktionert inzwischne prächtig! Für Windev Verhältnisse hat das etwas gedauert, unter Xbase wäre die Implementierungsdauer sicher Rekordverdächtig. :) Bin wieder mal voll happy und mache Schluss für heute!

Re: Fragen zu Drag and Drop

Verfasst: 24. November 2018, 08:44
von Herbert
Ja, da hast recht.
Mir ging es soeben genau gleich mit einer Implementation komplexer XML-Strukturen.