IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[SDK] Problème de Menu


Sujet :

Windows

  1. #1
    MPB
    MPB est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [SDK] Problème de Menu
    Salut,

    Je cherche à ajouter un sous-menu dans un menu d'une application qui n'est pas la mienne. Jusqu'ici j'arrive à avoir ce sous-menu par ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    HWND hAppli;
    HMENU hMenu1;
    HMENU hMenu2;
    
    char* lpClassName = "ClassName";
    char* lpWindowName = "WindowName";
    
    if( (hAppli = FindWindow(lpClassName,lpWindowName)) != NULL ) {
        if( (hMenu2 = CreatePopupMenu()) != NULL) {
            InsertMenu(hMenu2, -1, MF_BYPOSITION|MF_STRING, 777, "Test - Sous-menu !!");
            InsertMenu(hMenu2, -1, MF_SEPARATOR, 0, "");
            InsertMenu(hMenu2, -1, MF_BYPOSITION|MF_STRING, 778, "Test - Sous-menu 2 !!");
            if( (hMenu1 = GetMenu(hAppli)) != NULL) {
                InsertMenu(hMenu1, -1, MF_BYPOSITION|MF_POPUP, (unsigned int)hMenu2, "Test !");
            }
        }
    }
    le problème est que j'aimerais récupérer les événements sur mon nouveau sous-menu (à savoir : OnClick...) mais je ne sais pas comment faire, si quelqu'un à une idée...

    J'ai bien essayé avec des GetMessage...mais sans succès, peut-être que je ne fais pas de la bonne façon.

    Merci, d'avance.

  2. #2
    MPB
    MPB est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci je test ca, j'éspère que ca ira

  3. #3
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 667
    Points
    10 667
    Billets dans le blog
    3
    Par défaut
    Tu veux donc modifier le comportement d'un autre processus, donc lui faire exécuter ton code = qu'un processus exécute le code d'un autre. C'est plutot complexe à faire : faut mapper ton code dans ce process et subclasser la fenêtre avec.
    http://www.codeguru.com/Cpp/W-P/system/processesmodules/article.php/c5767#section_3_1

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 667
    Points
    10 667
    Billets dans le blog
    3
    Par défaut
    MPB, l'homme qui répond plus vite que les questions.

  5. #5
    MPB
    MPB est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    LOL

    il y avait un message avant !

    il est passé où !?

    Je le jure je ne suis pas un mito. :p
    il me disait de voir avec la fonction SetWindowLong

    faut appeler l'inspecteur Derrick

  6. #6
    Membre habitué Avatar de ken_le_videur
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 129
    Points : 145
    Points
    145
    Par défaut
    J'ai effacé par mégarde:

    Les évenement du menu sont transmis à sa fenêtre propriétaire.
    Pour les récupérer il faudrait redéfinir la procédure de la fenêtre en question avec un SetWindowLong, attraper les événements qui t'intéressent et balancer les autres à l'ancienne procédure.
    Mais comme dit aurélien ca sera pas de la tarte, surtout pour les NT

  7. #7
    MPB
    MPB est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci de vos réponses à tout les deux, je vais voir ce que je peux faire, je sent que je vais bien me marrer :p

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

Discussions similaires

  1. Problème de menu déroulant
    Par sourisleo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/03/2006, 15h46
  2. [CSS] petit problème avec menu déroulant et frame
    Par SylvainB dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/02/2006, 14h54
  3. [Tableaux] Probléme Tableau / Menu
    Par carnage_59 dans le forum Langage
    Réponses: 7
    Dernier message: 13/10/2005, 13h34
  4. [HTML+CSS] Problème de menu "dynamique"
    Par Invité dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/04/2005, 12h48
  5. [FLASH MX2004] Problème de menu avec explorer
    Par lyne dans le forum Flash
    Réponses: 2
    Dernier message: 24/08/2004, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo