Souris enfermée dans la fenêtre ?

Souris enfermée dans la fenêtre ? - C#/.NET managed - Programmation

Marsh Posté le 28-12-2004 à 21:31:46    

Comment fait-on pour enfermer la souris dans un Form ouvert ! J'aimerais qu'elle ne puisse plus quitter cette fenetre ?
 

Reply

Marsh Posté le 28-12-2004 à 21:31:46   

Reply

Marsh Posté le 28-12-2004 à 21:32:55    

C'est l'idée à la con du jour ?  
 
Pour quelle raison tu veux un tel comportement ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 28-12-2004 à 21:35:37    

Je vais enregistrer les coordonnées de la souris dans une zone présise.. il faut qu'il ne puisse pas dépasser la frontière de la zone.. tant que le click est enfoncé.. et je n'ai pas trouvé comment le faire.

Reply

Marsh Posté le 28-12-2004 à 21:56:27    

laisse tomber l'idée de faire ça en C#, à moins que tu aies envie de faire mumuse avec du Marshalling et des dllimport, car tu couperas pas au Win32 et à des fonctions telles que GetClientRect(), SetCapture(), et autres joyeusetés


Message édité par Harkonnen le 28-12-2004 à 21:56:39

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 29-12-2004 à 16:19:24    

et pourtant...
 

Code :
  1. public class Form1 : System.Windows.Forms.Form
  2. {
  3.   private Point LastPos;
  4.   public Form1()
  5.   {
  6.    //
  7.    // Requis pour la prise en charge du Concepteur Windows Forms
  8.    //
  9. InitializeComponent();
  10.   }
  11.   private void Form1_MouseLeave(object sender, System.EventArgs e)
  12.   {
  13.     this.Cursor = new Cursor(Cursor.Current.Handle);
  14.     Cursor.Position = LastPos;
  15.   }
  16.   private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
  17.   {
  18.     LastPos = Cursor.Position;
  19.   }


 
Je te fais grâce du reste (Initialize componant...)
 
 
:)

Reply

Marsh Posté le 29-12-2004 à 17:26:29    

ben oui, mais ça ça marche que pour le processus courant. apparemment, bleup veut pouvoir le faire pour n'importe quelle appli lancée (ou alors j'ai mal compris :??:)

Reply

Marsh Posté le 29-12-2004 à 17:30:05    

Harkonnen a écrit :

ben oui, mais ça ça marche que pour le processus courant. apparemment, bleup veut pouvoir le faire pour n'importe quelle appli lancée (ou alors j'ai mal compris :??:)


 
 

bleup a écrit :

Je vais enregistrer les coordonnées de la souris dans une zone présise.. il faut qu'il ne puisse pas dépasser la frontière de la zone.. tant que le click est enfoncé.. et je n'ai pas trouvé comment le faire.


 
Il veut au moins pouvoir cliquer dedans... après ca ne reste que de la gestion d'evennements et qques booleens bien placés :D
 
 

Reply

Marsh Posté le 29-12-2004 à 17:41:43    

ah merde, moi je pensais qu'il voulait, pour n'importe quelle application lancée, pouvoir bloquer la souris dans la fenêtre de ladite appli tant que le click était enfoncé, un hook quoi :D

Reply

Marsh Posté le 29-12-2004 à 17:46:38    

Harkonnen a écrit :

ah merde, moi je pensais qu'il voulait, pour n'importe quelle application lancée, pouvoir bloquer la souris dans la fenêtre de ladite appli tant que le click était enfoncé, un hook quoi :D


 
Ah, c'est pas ça ce que fait le code au dessus ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 29-12-2004 à 17:57:17    

kadreg a écrit :

Ah, c'est pas ça ce que fait le code au dessus ?


 
Si justement :D (quoique la, en l'occurence, mon code fonctionne sans besoin de click, altF4 de rigueur pour quitter l'exemple  :whistle: ou, petite astuce, cliquer dans la fenetre et mettre le curseur hors de la fenetre, car a ce moment preçis, ce n'est pas le mousemouve qui est soulevé mais le mousedown) enfin bref, ce bout de code donne la bonne piste :)

Reply

Marsh Posté le 29-12-2004 à 17:57:17   

Reply

Marsh Posté le 29-12-2004 à 18:00:15    

kadreg a écrit :

Ah, c'est pas ça ce que fait le code au dessus ?

ben non, il ne fait que clipper le curseur qu'à l'intérieur de la Form1 !
moi ce que j'ai compris, c'est que l'auteur du topic veut pouvoir clipper le curseur à l'intérieur de n'importe quelle Form ouverte par n'importe quelle application, quand le bouton gauche de la souris est enfoncé :??:  

Reply

Marsh Posté le 29-12-2004 à 18:03:52    

Harkonnen a écrit :

ben non, il ne fait que clipper le curseur qu'à l'intérieur de la Form1 !
moi ce que j'ai compris, c'est que l'auteur du topic veut pouvoir clipper le curseur à l'intérieur de n'importe quelle Form ouverte par n'importe quelle application, quand le bouton gauche de la souris est enfoncé :??:


 
 
Tu es tordu :o
 
C'est quand ta dernière visite chez le psy ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 29-12-2004 à 18:07:55    

kadreg a écrit :

Tu es tordu :o
 
C'est quand ta dernière visite chez le psy ?


je suis pas tordu :o
bleup dit qu'il veut enfermer la souris dans un Form ouvert ! moi j'ai interprété ça comme n'importe quel Form ouvert :spamafote:

Reply

Marsh Posté le 29-12-2004 à 18:08:24    

de toute façon, c'est une idée à la con :o

Reply

Marsh Posté le 29-12-2004 à 18:10:04    

d'ailleurs, à ce sujet, ça serait bien que le Framework 2.0 commence à intégrer des fonctions telles que GetClientRect(), FindWindow(), EnumWindows(), etc...
tout ce qu'il faut pour utiliser efficacement Windows quoi
 
edit: j'ai rien dit pour GetClientRect(), il est dispo sous forme de propriété de Control (ClientRectangle)


Message édité par Harkonnen le 29-12-2004 à 18:14:01
Reply

Marsh Posté le 29-12-2004 à 18:20:47    

Harkonnen a écrit :

d'ailleurs, à ce sujet, ça serait bien que le Framework 2.0 commence à intégrer des fonctions telles que GetClientRect(), FindWindow(), EnumWindows(), etc...
tout ce qu'il faut pour utiliser efficacement Windows quoi
 
edit: j'ai rien dit pour GetClientRect(), il est dispo sous forme de propriété de Control (ClientRectangle)


 
 
 
 :whistle:

Reply

Marsh Posté le 29-12-2004 à 18:21:49    

Harkonnen a écrit :

de toute façon, c'est une idée à la con :o


 
 

Citation :

Si tu ne sait pas comment ça marche, c'est que tu n'en a pas besoin


 
 [:kilgoreweb]

Reply

Marsh Posté le 29-12-2004 à 22:04:33    

Merci pour la solution !  
 
C'est très sympa !
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed