Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre du Club
    Inscrit en
    avril 2007
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 184
    Points : 56
    Points
    56

    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

  2. #2
    Rédacteur/Modérateur
    Avatar de Melem
    Homme Profil pro Jessee Michaël Christian Edouard
    Ingénieur développement logiciels
    Inscrit en
    janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Nom : Homme Jessee Michaël Christian Edouard
    Âge : 28
    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 656
    Points : 8 154
    Points
    8 154

    Par défaut

    Tu ne peux pas tout simplement poster un code qui illustre le problème et nous dire ce que tu veux comme résultat ?

  3. #3
    Membre du Club
    Inscrit en
    avril 2007
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 184
    Points : 56
    Points
    56

    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

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •