Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Control et Mouse [ Archives / Graphique ] (Bidou)

mercredi 4 janvier 2006 à 14:02:03 | Control et Mouse

Bidou

Administrateur CodeS-SourceS
Bonjour,
Je suis entrain de faire un Control, appelons-le "x" (qui dérive de Usercontrol) qui devra faire certaines actions lorsque la souris est au-dessus de lui.
Mon problème, c'est que ce Control ("x") possède d'autres Control, disons "y" (en loccurance, y'a pour le moment des Labels et une PictureBox) et que lorsque ma souris passe sur l'un des "y" qui se trouve dans "x" je reçois un MouseLeave puis un MouseEnter quand la souris entre repectivement quitte "y" (mais reste toujours dans "x" !).
Et ça me pose bien-entendu tout un tas de problème...

J'aurais aimé savoir comment régler ce problème le plus proprement possible (autrement dit, comment faire pour savoir si la souris est dans un Control, y compris un des sous-Control).

(J'espère que la question était claire )
Merci d'avance aux réponses !



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

mercredi 4 janvier 2006 à 14:26:05 | Re : Control et Mouse

sebmafate

Membre Club Administrateur CodeS-SourceS
passe par un override de WndProc

Sébastien FERRAND 
[MVP C#]

mercredi 4 janvier 2006 à 18:25:53 | Re : Control et Mouse

Bidou

Administrateur CodeS-SourceS
Salut et merci de la réponse.
A vrai dire j'ai toujours eu un peu de peine avec le WndProc, comme savoir par exemple quel message m'intéresse?
Tu pourrais un peu m'aiguiller stp? Merci



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

mercredi 4 janvier 2006 à 19:40:26 | Re : Control et Mouse
mercredi 4 janvier 2006 à 21:06:53 | Re : Control et Mouse

Bidou

Administrateur CodeS-SourceS
Désolé mais je vois pas trop  
Pas trop l'habitude de travailler avec ça je dois dire.

Je dois faire qqch comme ça ou bien ?

protected override void WndProc(ref Message m)
{
   
base.WndProc(ref m);
   if (m.Msg == WM_MOUSEMOVE) // Comment savoir que vaut WM_MOUSEMOVE ??
   {
      // Et ici on fait quoi ? 
   }
}




[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever


mercredi 4 janvier 2006 à 21:55:17 | Re : Control et Mouse

sebmafate

Membre Club Administrateur CodeS-SourceS
alors...

WM_MOUSEMOVE = 0x200;
WM_MOUSELEAVE = 0x2a3;

(merci reflector ;))

Sébastien FERRAND 
[MVP C#]

mercredi 4 janvier 2006 à 22:00:39 | Re : Control et Mouse

Bidou

Administrateur CodeS-SourceS
J'ai réussi à trouver les valeurs sur le net mais je sais toujours pas ce que je dois faire avec lol.
Hum...




[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

mercredi 4 janvier 2006 à 22:16:01 | Re : Control et Mouse

sebmafate

Membre Club Administrateur CodeS-SourceS
ok... on va faire plus complet :)

private const int WM_MOUSEMOVE = 0x200;
private const int WM_MOUSELEAVE = 0x2a3;

protected override void WndProc(ref Message m)
{
   switch (m.Msg) { 
      case WM_MOUSELEAVE :
         isMouseHover =
false;
         _MouseLeave(
EventArgs.Empty);
         break;

   case
WM_MOUSEMOVE :
         if (!isMouseHover)
            _MouseEnter(
EventArgs.Empty);
         _MouseMove(
EventArgs.Empty);
         break;
      }
      base.WndProc(ref m);
}

protected virtual void _MouseEnter(EventArgs e) {
   Console.WriteLine("La souris est entr‚e dans le controle");
}

protected virtual void _MouseLeave(EventArgs e) {
   Console.WriteLine("La souris a quitt‚ le controle");
}

protected virtual void _MouseMove(EventArgs e) {
   Console.WriteLine("La souris bouge au dessus du controle");
}




Sébastien FERRAND 
[MVP C#]

mercredi 4 janvier 2006 à 22:28:01 | Re : Control et Mouse

sebmafate

Membre Club Administrateur CodeS-SourceS
ooops... j'm'a trompé 

   case WM_MOUSEMOVE :
         if (!isMouseHover) {
               isMouseHover = true;
               _MouseEnter(EventArgs.Empty);
         }
         _MouseMove(EventArgs.Empty);
         break;
      


Sébastien FERRAND 
[MVP C#]

mercredi 4 janvier 2006 à 22:43:49 | Re : Control et Mouse

Bidou

Administrateur CodeS-SourceS
Ben si je met ce code, alors j'observe dans ma Form de test, que quand j'entre dans le Control il m'affiche correctement ce qu'il faut dans la console (il dit qu'il est entré et que la souris bouge au dessus) mais le problème est toujours le même : la souris est à l'intérieur du Control et lorsqu'elle passe sur un label (compris dans le Control) ca vient écrit que la souris a quitter le Control (hors, ce n'est pas le cas, dumoins je ne veux justement pas que ça le soit !).
Je sais pas si tu vois ?



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever


1 2 3

Cette discussion est classé dans : problème, control, souris, pub, mouse


Répondre à ce message

Sujets en rapport avec ce message

Hériter de Control.ControlCollection [ par cpetitjean ] Bonjour, Je suis entrain de développer un composant qui a une propriété qui obtient une collection d'objets.J'utilise une classe qui hérite de System. mouse down + position de la souris ? debutant [ par jimmy69 ] Bonjour a tous ,debutant sous visual studio.net je me mets au langage c# ! pas facile du tout :-( !J'essaye de faire des actions en faisant un clic ga Déclaration de bitmap [ par mael45 ] Bonjour Je fais un travail pour l'école et là je suis complétement bloqué.Je dois pouvoir dessiner à chaque clic de souris sur mon image un trais qui Control et Transparent [ par Ordinastie ] Salut.J'ai une carte déssinée dans un pictureBox et j'ai besoin d'ajouter des marqueurs à differents endroits sur cette carte. J'ai plus ou moins réus Deplacement (drag&drop) de la form différent selon les machines :-* [ par fcolo ] Bonjour,j'ai une application faite sous SharpDevelop 2.0 compilée en .NET 1.1.Mon application n'a pas de bord (this.FormBorderStyle <FONT color=#00640 Thread et control [ par RMI ] Bonjour, Voila mon problème: J'ai une form avec un tabcontrol Les 2 premières tabpages sont rempli dans le load du winform la 3ème contenant un treev Problème de propriété d'un web control [ par tof.p ] Bonjour à tous,G créé un composant ASP.Net en c#, il hérite de TextBox. G créé une propriété dans ce composant. Pas de problème, le composant fonction [Net2] problème de mouseup sur listview [ par cedkat ] Bonjour,Je développe une petite application en .Net2 avec VS2005 et je rencontre un problème avec le contrôle ListView. Problème que je rencontre en d créer un control winform [ par tracks62 ] Bonjour,J'aimerai faire un control pour une application winForm avec a l'intérieur des éléments qui peuvent bouger en faisant un drag and drop.Est ce Mouse hover sur picturebox (detection repos de la souris) [ par olibara ] Bonjour J'essaye de comprendre l'evenement mouse hover sur un pictureboxDans un premier temps, j'avais cru que l'event se déclenchait quant on arret


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.