Probleme de souris

Résolu
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010 - 13 août 2007 à 13:43
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010 - 16 août 2007 à 11:48
bonjour a tous,

voila j'ai un petit souci que j'espere résoudre grace a votre aide^^:
donc je souhaiterais savoir quand la souris pointe sur un objet de mon interface afin d'afficher une petite aide mais j'ai remarque que je recupérais la position de la souris que lorsque celle ci etait directement sur l'interface et pas sur les boutons.
Voila le code:

case WM_MOUSEMOVE:
{
            GetCursorPos(&pteur);
            if(WindowFromPoint(pteur)==Connexion)MessageBox(0,"jcjcklsj","",MB_OK);
            break;
}
et voila donc mon bouton connexion
Connexion=CreateWindow("BUTTON","Connexion",BS_BITMAP | WS_CHILD |  BS_PUSHBUTTON , 545, 433, 141, 42,  hWnd, NULL, 0,NULL);
 hWnd etant donc mon interface de base
Merci d'avance

14 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
15 août 2007 à 20:25
Bah j'ai fait un bout de source :
http://www.cppfrance.com/code.aspx?ID=43779
3
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
13 août 2007 à 14:06
lorsque je modifie Connexion=CreateWindow("BUTTON","Connexion",BS_BITMAP | WS_CHILD |  BS_PUSHBUTTON , 545, 433, 141, 42,  hWnd, NULL, 0,NULL);
par  Connexion=CreateWindow("std","Connexion",BS_BITMAP | WS_CHILD |  BS_PUSHBUTTON , 545, 433, 141, 42,  hWnd, NULL, 0,NULL);
le messageBox s'affiche a l'ecran
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
13 août 2007 à 15:42
Salut,

Ptêt bin que WindowFromPoint renvoie que le handle de certaines fenêtres.

Regarde peut être du côté de ChildWindowFromPoint.

Attention, elle regarde que les filles, pas les petites filles.
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
13 août 2007 à 16:15
merci de ta reponse rt15 cependant le probleme est toujours le même.
est ce que le probleme peut venir du fait que j'ai mon interface de base(avec une image pour le style^^) une image posée dessus et le bouton situé sur l'image.??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
13 août 2007 à 16:32
si tu veux afficher une bulle d'aide quand tu passes sur un bouton regarde tooltips tu as pleins d'exemple sur le site, voir sur developpez.com

ciao
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
13 août 2007 à 16:56
merci omnia c'est exactement pour afficher de l'aide que je cherche mais pas dans une bulle d'aide j'ai deja une partie de mon interface qui est prevu pour l'aide mais je vais quand meme aller voir sur developpez.com sa pourra peut etre m'aider. je vous tiens au courant
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
14 août 2007 à 10:44
finalement developpez.com n'a pas su resoudre mon probleme
0
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
14 août 2007 à 11:39
Oki alors tu as plusieurs choix pour ton bouton:

-  tu le dessines toi même et tu traite le message de dessin (récupération du curseur de la souris),
- ou en sous classant le bouton ??
- ou tu fait un hook (gestion de position du curseur)
- un autre moyen consisterait a affecté un tooltips et a ne jamais l'afficher en gérant son message d'appel, sa te permettrait de traiter le bouton directement.

ciao et bon codage +
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
14 août 2007 à 13:37
j'ai voulu tester la derniere méthode cependant le tooltip s'affiche que lorsque la souris est directement sur le hwnd de depart:
impossible de l'afficher sur les label, les boutons, les images etc...
0
cs_omnia Messages postés 240 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 22 mars 2009
14 août 2007 à 13:53
tu peux aussi utiliser l'évenement:
WM_MOUSEHOVER

http://msdn2.microsoft.com/en-us/library/ms645613.aspx

par contre pour l'histoire du tool tips bizzard j'avais déja réussi a faire sa .. si je tombe sur le bout de code en rentrant de mes vacances je regarderai (dans 1semaine désolé)

ciao +
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
14 août 2007 à 13:54
alors voila comment sa fonctionne (plutot pourquoi sa ne fonctionne pas) :
j'ai mon panneau de base avec une image dessus et le contour en rose pour avoir une interface non rectangulaire.
Dessus j'ai mon bouton reduire et fermer personnalisé sur lesquels le tooltip fonctionne
Sur le reste de l'interface il y a une image differente selon la page que je veux (le seul moyen que j'ai trouvé pour rajouter a souhait des images est de les mettre en bouton sans contour (peut etre a cause de sa???) et sur ces images, les boutons, les labels... sur lesquels les tooltips ne fonctionne pas.

Donc ma theorie serait que sa ne fonctionne pas a cause de la superposition des differentes partie de mon interface
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
16 août 2007 à 10:42
merci pour ta source je regarde sa et je te tiens au courant
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
16 août 2007 à 11:48
super j'ai regardé par rapport a ton code et c'est ok j'ai juste modifié le code pour avoir
MSG uMessages;   // Réception des messages envoyés à l'application
  // Boucle de traitement des messages
  while (GetMessage(&uMessages, NULL, 0, 0))
  {
    switch (uMessages.message)
    {
    case WM_MOUSEMOVE:
      if (uMessages.hwnd == hButton)
       MessageBox("","nkshjzsk","",MB_OK);
      else
      break;
    }
    TranslateMessage(&uMessages);
    DispatchMessage(&uMessages);
  }
  // Code d'erreur en sortie
  return uMessages.wParam;
}
en tout cas merci beaucoup de ton aide
0
neofenix Messages postés 145 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 11 mars 2010
16 août 2007 à 11:48
super j'ai regardé par rapport a ton code et c'est ok j'ai juste modifié le code pour avoir
MSG uMessages;   // Réception des messages envoyés à l'application
  // Boucle de traitement des messages
  while (GetMessage(&uMessages, NULL, 0, 0))
  {
    switch (uMessages.message)
    {
    case WM_MOUSEMOVE:
      if (uMessages.hwnd == hButton)
       MessageBox("","nkshjzsk","",MB_OK);
      else
      break;
    }
    TranslateMessage(&uMessages);
    DispatchMessage(&uMessages);
  }
  // Code d'erreur en sortie
  return uMessages.wParam;
}
en tout cas merci beaucoup de ton aide
0
Rejoignez-nous