2008-10-13 18 views
4

J'ai un ListView contenant des noms de fichiers. Ces noms de fichiers doivent pouvoir être déplacés vers un TreeView, ce qui est un glisser-déposer dans l'application et fonctionne avec le support intégré glisser/déposer de Delphi - pas de problème. Mais je dois également pouvoir glisser/déposer les éléments ListView dans une autre application, par ex. Windows Explorer. Cela fonctionne également, par exemple en utilisant un composant DragFileSource de la suite de composants d'Anders Melander (http://melander.dk) qui commence son travail dans l'événement ListView.MouseDown, donc il n'y a pas vraiment d'opération de glisser/déposer lancée.Glisser/Déposer dans une application ET dans une autre application

Fondamentalement, j'aurais besoin du même comportement que vous pouvez voir dans un explorateur de Windows: Vous pouvez faire glisser un article vers un autre dossier dans l'application et également vers une autre application.

Comment cela peut-il être fait dans Delphi? Je suppose qu'il devrait y avoir un "drag" initié, mais quand la souris sort de la fenêtre de l'application, elle doit "passer" à l'autre fonctionnalité, et la souris devrait revenir à la fenêtre de l'application .

Merci pour toute aide!

Holger

Répondre

5

Le Drag and Drop Component Suite vous avez mentionné le fait. Vous pouvez lancer un glisser que vous pouvez déposer dans votre propre application ou dans d'autres applications par défaut. Choisissez simplement le bon format de presse-papiers que les autres applications comprennent. Quel est votre problème avec cela?

+0

Mon problème est que je ne peux que passer à une autre application en utilisant le composant DragFileSource. Il me semblait que cela ne faisait que ça, et je dois faire mes propres trucs pour glisser/déposer dans l'application. – Holgerwa

+0

Lars, mon problème n'est pas de glisser vers une autre application avec un composant DragFileSource. J'ai plutôt besoin d'être en mesure de déposer la source sur un autre composant à l'intérieur de l'application. Il semble que dès que DragFileSource a commencé à faire glisser, je peux seulement laisser tomber l'application ou annuler le glisser. – Holgerwa

+0

Il vient de faire une application simple et cela fonctionne comme prévu. Le problème doit être dans votre code. Vous avez utilisé un TDropFileTarget pour l'autre composant dans votre application? –

2

Si vous voulez à la fois VCL style et faites glisser-déposer le style de Windows, puis utilisez le style de Windows pour un tout, y compris glisser-déposer dans votre propre application.

Questions connexes