english preferred?
Ich will die Ausgaben mit Fotos der Belege verknüpfen. Links habe ich die Listbox mit den Journal-Einträgen, rechts ein Subform-Widget für die Beleg-Buchung. Das Beleg-Foto auf das Widget droppen soll beide verbinden.
Hier im Screenshot zu sehen, landet das Beleg-Foto im Widget.
dragNdrop
Subforms sind besondere Formular-Objekte. Sie reagieren nur auf eine kleine Auswahl der Form-Ereignisse. Über die Datenbank-Methode On Drop komme ich nicht weiter, das Ereignis wird nicht gefeuert beim Drop auf ein Widget. Die normalen Formobjekte reagieren auf den Drag. Dem Benutzer ist nicht zuzumuten, irgendwo auf eine Drop-Area zu ziehen. Ich will das nicht in jedem einzelnen Objekt codieren, das macht keinen Sinn.
Ich habe mich dann für einen unsichtbaren Button entschieden, so groß wie das Formular, in beiden Richtungen wachsend und ganz nach hinten gesetzt. Dieser Button reagiert auf drag&drop-Events und ruft Journal_Mngr („Subform_Drop“) auf. Dort wird auf $P_boundObj:=OBJECT Get pointer(Object subform container) geprüft und wenn $P_boundObj nicht Nil ist, wird reagiert.


lieber auf deutsch?
Current situation, bookkeeping of expenses and connecting pictures of the receipts to the journal-record. The is a main listbox, listing the journal-records and a subform-widget of the journal-entry. Dropping the receipt-pictures on the subform should connect both.

Like shown on the picture, the receipt lands anywhere on the widget.
dragNdrop
Subforms are a different beast than other form-objects. Subforms react on a subset of those events other form-objects react on. The database-method On Drop does not get fired, so this is of now help either. Single active objects of the form do receive a drag&drop-events, but that is not what I want. On one hand this means a lot of code and even worse, it is unexplainable to the user where to drop those files.

I finally settled to an invisible buttons, same size as the form and with grow-options in both directions, which is layered on the very bottom. That button reacts on the drag&drop-events and calls Journal_Mngr („Subform_Drop“) which detects $P_boundObj:=OBJECT Get pointer(Object subform container) and if $P_boundObj is not Nil, reacts on a drop on subform.