Précédent   Forum du club des développeurs et IT Pro > Général Développement > Programmation système > Windows
Windows Forum d'entraide sur la programmation Windows. Tutoriel API Windows
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/11/2012, 18h47   #1
Athur
Membre du Club
 
Inscription : avril 2007
Messages : 172
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 172
Points : 48
Points : 48
Par défaut Problème avec un survol de bouton

Bonjour,
Fenêtre dialogue créee dans fichier ressource avec contrôles statiques et deux boutons.
Dans la CALLBACK du dialogue je teste WM_MOUSEMOVE pour récupérer la main chaque fois que la souris se déplace sur la fenêtre du dialogue.
Puis j'utilise ChildWindowFromPoint pour savoir sur quel contrôle de la fenêtre dialogue la souris se trouve.
La fonction ChildWindowFromPoint me fournit correctement le handle de chaque contrôle statique chaque fois que je le survole, par contre quand je survole les boutons, la fonction ChildWindowFromPoint continue à me fournir le handle de la fenêtre parente (celle du dialogue) ce qui fait que je ne détecte pas les boutons.
J'ai essayé ChildWindowFromPointEx avec le paramètre CWP_ALL, c'est pareil.
J'ai essayé de rajouter le paramètre WS_CHILD dans la description des boutons du fichier ressource, c'est pareil.
De toutes façons les contrôles statiques du fichier ressource n'ont pas le paramètre WS_CHILD et pourtant ça marche.
Je construis moi-même mes contrôles statiques et mes boutons (paramètres SS_OWNERDRAW et BS_OWNERDRAW)
Est-ce normal ?
Merci
Athur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2012, 21h23   #2
Melem
Rédacteur/Modérateur
 
Avatar de Melem
 
Homme Jessee Michaël Christian Edouard
Ingénieur développement logiciels
Inscription : janvier 2006
Messages : 3 661
Détails du profil
Informations personnelles :
Nom : Homme Jessee Michaël Christian Edouard
Âge : 27
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2006
Messages : 3 661
Points : 8 435
Points : 8 435
Envoyer un message via MSN à Melem
Tu ne peux pas tout simplement poster un code qui illustre le problème et nous dire ce que tu veux comme résultat ?
Melem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2012, 18h05   #3
Athur
Membre du Club
 
Inscription : avril 2007
Messages : 172
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 172
Points : 48
Points : 48
Par défaut Suite

OK, j'ai trouvé, il suffit de sous-classer la winproc du bouton, mettre le WM_MOUSEMOVE dans la procédure de sous-classement et sous WM_MOUSEMOVE faire un SetCapture de la souris puis de tester par ChildWindowFromPoint, la fenêtre principale peut être avisée du survol par exemple par un NOTIFY.

Merci
Athur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h38.


 
 
 
 
Partenaires

Hébergement Web