Question

Je veux savoir si un contrôle traînés a été libéré en dehors de tout objectif.

On pourrait penser que OnDragEnd devrait être utilisé, mais cet événement ne fonctionne pas (ils ont oublié d'appeler la procédure de dragend dans l'unité FMX.Types).

Comme alternative, j'ai essayé OnMouseUp pour le contrôle traînés. Ne fonctionne pas. Ne vous laissez pas déclenché lorsque DragMode = dmAutomatic.

En dernier recours, j'ai essayé de passer outre la procédure MouseUp de la forme elle-même (puisque tous les événements de la souris passent par la forme avant d'être transmis à la commande correspondante). Surprise: la procédure MouseUp ne soit pas appelée lorsque DragMode = dmAutomatic de la commande

.

Incroyable comment quelque chose ce très simple est ce extrêmement difficile à réaliser, mais j'espère que quelqu'un aurait pu trouver une solution de travail.

Était-ce utile?

La solution

Il est possible de remplacer la méthode DragLeave du formulaire. Cette méthode est appelée pour tous les objets qui y sont déposés en dehors d'une zone cible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top