détecter le drag and drop de fenetre [c#] - C#/.NET managed - Programmation
Marsh Posté le 20-06-2005 à 18:25:56
Y'a pas un Onxxx qui correspond?
Au pire tu gére le OnClick en comparant la position avant le OnClick et après, non?
Marsh Posté le 21-06-2005 à 09:07:00
alors je reformule mon problème:
j'ai une winform et je veux pouvoir détecter tout les déplacer relacher de toutes les fenêtres possible dans windows dessus.
il n'y aura pas OnClick sur ma forme; il y aurait pu y avoir un OnMouseUp au pire, mais ce n'est pas le cas.
Marsh Posté le 21-06-2005 à 09:31:23
il y a un évenement conçu pour!
pour la cible me semble que c'est "DoDragDrop"
si tu as besoin plus d'infos, j'ai un petit tutorial écris par un de mes professeurs concerant le Drag and Drop!
si cela t'intéresse fait le moi savoir : laurent.bindels@swing.be
Marsh Posté le 21-06-2005 à 09:40:41
non c pas le dodragdrop...... pourquoi personne ne comprends ce que je veux dire ....
je vais rereformuler:
j'ai une winform appelé XXX qui est codée par moi !!
si déplace une fenêtre windows (explorateur ou autre) et que je la met dessus ma winform XXX , j'aimerais que ma winform XXX le détecte et me dise ya une fenetre avec un handle YYY qui a été déplacé au dessus de moi !!
Marsh Posté le 21-06-2005 à 09:45:43
c'est fait automatiquement mon coco!
l'évènement paint te sera signalé par windows! en fait cette évènement te dira quel partie de ta fenètre tu dois redessiné car voila une fenetre est passé dessus et tu as minimisé ta fenetre!
anciennement cette évènement était appelé VM_PAINT et est signalé directement par windows! cherche de ce coté la histoire de voir si tu ne sais pas voir la provenance de l'évènement....
PS: La prochaine fois, ne parle pas de drag and drop! surtout qu'ici c'est pas du tout ce que tu voulais faire... Essaye d'être plus clair la prochaine fois.
Marsh Posté le 21-06-2005 à 09:52:26
Premièrement, ok, le terme drag and drop est peut etre mal approprié; mais j'ai dit "drag an drop de fenetre" c'est deja un peu plus imagé...
Deuxièmement, je sais bien que cela est fait automatiquement mon caca !
je veux que mon appli détecte les fenêtres qui seront déplacer dessus pour pouvoir y faire des actions bien spécifiques
PS: c'est pas VM_PAINT mais WM_PAINT, apprends à écrire la prochaine fois
Marsh Posté le 21-06-2005 à 11:22:22
A priori tu viens de te suicider forumement parlant en envoyant chier les personnes qui veulent t'aider et au passage ceci n'est pas specialement une conerie sauf que y'a un pb d'ordre et de destinataire de message
Citation : l'évènement paint te sera signalé par windows! en fait cette évènement te dira quel partie de ta fenètre tu dois redessiné car voila une fenetre est passé dessus et tu as minimisé ta fenetre! |
Le PB est que tu veux entre autre acceder aux evènements qui ne sont pas destiné a ta Form mais au systeme et en Code managé pur , je ne pense pas que ce soit possible
-------> Hook peut être
Marsh Posté le 21-06-2005 à 14:41:53
as-tu bien pensé à mettre la propriété "AllowDrop" de ta fenetre à true ?
Ensuite, assigne les evenements "DragEnter" et "DragDrop" de ta fenetre pour recuperer les datas dans le eventargs e.Data
Un conseil, gère bien le type de tes e.datas dans la procédure evennementielle "dragdrop"
Marsh Posté le 21-06-2005 à 15:00:22
ixemul a écrit : as-tu bien pensé à mettre la propriété "AllowDrop" de ta fenetre à true ? |
je t'invite à relire le post dans son intégralité
Marsh Posté le 21-06-2005 à 15:26:07
Si je relis bien tu utilise donc le terme "dragdrop" malencontreusement, car tu ne cherche pas a gerer un evennement de dragdrop, tu veux seulement savoir si l'utilisateur deplace une fenetre au dessus de la tienne...
Pour cela, il va te falloir utiliser un systeme avec un thread qui scanne tout les process en cours (Voir la classe System.Diagnostic.Process ) qui te permet de recuperer le handle de la fenetre principal d'un processus windows, il te reste plus qu'a savoir laquelle est active et son deplacement sur ta fenetre...
regarde un peu du coté de codeproject, en particulier cet exemple de popup killer -> http://www.codeproject.com/csharp/popupkiller.asp qui propose des methode de detection de fenetre
Marsh Posté le 21-06-2005 à 16:42:20
hum perso j'ai meme pas envie de répondre a ton post vu comment t'es agréable quand tu parles...
bon sang il a écrit VM_PAINT au lieu de WM_PAINT... on devrai le bannir serieu
Marsh Posté le 20-06-2005 à 17:33:50
bonjour,
alors voila mon problème, j'aimerais détecter le drag and drop ou le déplacer de fenetre windows sur ma winform.....
comment faire ??