Bonjour
Je réalise une interface graphique pour organiser des données
Sur ma Form j'ai une ListBox énumérant des équipes sportives et un Frame me servant à afficher graphiquement ces équipes. Le rendu graphique d'une équipe est un rectangle avec le nom de l'équipe et la liste des membres.
En faisant un dragdrop, l'utilisateur peut faire glisser une équipe de la ListBox vers la Frame. L'équipe devient visible dans le Frame et elle est retirée de la ListBox. Dans la Frame, l'utilisateur peut déplacer les rendus graphiques des équipes avec la souris.
Tout ceci marche, mais je veux aller plus loin.
Lorsque l'utilisateur effectue un drag-drop depuis la ListBox vers la Frame, je voudrais que le rendu graphique de l'équipe soit affiché dès que la souris survole la Frame, et non lorsque l'utilisateur relâche le bouton de la souris. Une fois le rendu graphique affiché je voudrais que l'utilisateur puisse le déplacer. Ainsi dans le même mouvement de souris l'utilisateur pourra faire glisser l'équipe de la listbox au frame et placer le rendu graphique où il veut sur le frame.
Actuellement je gère la fin du drag-drop (affichage du rendu graphique et suppression de l'équipe dans la ListBox) depuis l'évènement BeforeDropOrPaste.
J'ai essayé de réaliser la même chose depuis l'évènement BeforeDragOver, mais ça ne met pas fin au DragDrop : l'évènement BeforeDragOver est rappelé à nouveau et cherche à nouveau à ajouter le rendu graphique et supprimer l'item de la ListBox. Comme ces deux actions viennent juste d'être réalisées j'obtiens une erreur.
J'ai aussi essayé de simuler l'appui sur la touche Echap avec SendKey "{ESC}"
Comment faire donc pour forcer un DragDrop à se terminer sans avoir à attendre que l'utilisateur relâche le clic de la souris
En espérant avoir été clair
Partager