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

MFC Discussion :

CTreeCtrl et menu contextuel


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut CTreeCtrl et menu contextuel
    Bonjour,

    Dans la faq j'ai trouvé cet exemple:
    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
    19
    20
    21
    22
    En utilisant l'api 32 :
     
    BOOL GetCursorPos(
      LPPOINT lpPoint   // cursor position
    );
     
    Exemple d'utilisation :Affichage d'un menu contextuel à l'emplacement de la souris sur le clic d'un bouton :
     
    void CSdisamplesView::OnButton1() 
    {
    // TODO: Add your control notification handler code here
         CPoint point;
         CMenu menu,*pPopup;
        GetCursorPos(&point);
     
        menu.LoadMenu(IDR_MENU1);
        ASSERT (menu.m_hMenu != NULL);
        pPopup = menu.GetSubMenu(0);
        ASSERT (pPopup != NULL);
        int nResult = pPopup->TrackPopupMenu(TPM_LEFTALIGN |  TPM_RIGHTBUTTON, point.x, point.y, this);  
        menu.DestroyMenu();
    }
    Pb je suis sur une appli type dialogue based et le chargement du menu se passe bien mais le "menu.GetSubMenu(0)" retourne null.
    Mon code est celui de l'exemple et j'ai du mal a comprendre pourquoi cela ne fonctionne pas chez moi...

    La question de fond etant de realiser un menu contextule sur les item d'un CTreeCtrl

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    ce code sous entend que tu as un menu IDR_MENU définit dans les ressources.
    c'est le cas ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut .
    Oui oui j'ai bien cette ressource. C'est une menu avec une seule ligne en fait.
    Pour aller plus loin j'ai directement créé un menue comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        CPoint point;
        GetCursorPos(&point);
     
        HMENU popupMenu = CreatePopupMenu();
        InsertMenu (popupMenu, 0, MF_STRING |MF_BYCOMMAND, 12 , "choix 1");
     
        int ret = TrackPopupMenu (popupMenu, TPM_RETURNCMD |TPM_LEFTALIGN, point.x, point.y, 0, this->m_hWnd, NULL);
     
        TRACE("Getting contectual menu => %d!!\n",ret);
    Ca fonctionne correctement masi ce qui me gene c'est que l'ID du menu et le menu lui meme ne sont pas liéé a une resource :s
    Je trouve l'exemple parfait dans la mesure ou il fait appel a une ressource...
    Je continue quand meme mes investigations sur l'exempel de la FAQ.

Discussions similaires

  1. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/04/2009, 12h23
  2. Visibilité commande dans un Menu contextuel
    Par Hamdi dans le forum IHM
    Réponses: 3
    Dernier message: 20/01/2005, 12h29
  3. [Plugin] Ajouter une option au menu contextuel ?
    Par relivio dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 22/03/2004, 16h18
  4. [VB6] menu contextuel dynamique
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/07/2003, 11h53
  5. [VB6] menu contextuel sur clique droit souris
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 08/07/2003, 11h07

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