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 :

[MFC] utilisation de DelTool


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Par défaut [MFC] utilisation de DelTool
    salut, pour un programme que je realise, je souhaite faire apparaitre une info bulle lorsque j'enfonce le click droit et ensuite, la faire disparaitre si je relache le click droit.

    J'ai bien reussi a faire apparaitre l'info bulle, mais lorsque je relache le bouton droit, elle ne disparait pas, alors que j'utilise la fonction DelTool.
    est ce que quelqu'un pourrait m'aider a resoudre mon probleme.

    je vous donne mon code pour l'affichage de l'info bulle pour voir si vous trouver un probleme.

    dans mon view.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CToolTipCtrl* tool ;     //On definie une variable pour l'info bulle 
     TOOLINFO ti;            //ti recevra les caracteristiques du message de l'info bulle
    dans le constructeur de la classe View:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    text=new char[256]; //la taille max. du message qui sera affiché dans ta tooltip
     tool=new CToolTipCtrl();
    dans OnInitialUpdate():
    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
     
        tool->Create(this,TTS_ALWAYSTIP|TTF_TRACK|TTF_ABSOLUTE|TTF_IDISHWND   );
     
     //taille de la structure en bytes
        ti.cbSize = sizeof(TOOLINFO);
     
     //Commande l'affichage de la tooltip
        ti.uFlags = TTF_IDISHWND | TTF_TRACK | TTF_ABSOLUTE;
     
     //Correspond a l'handle de la fenetre
        ti.hwnd   = this->m_hWnd;
        ti.uId    = (UINT)AfxGetMainWnd()->m_hWnd;
        ti.hinst  = AfxGetInstanceHandle();
        ti.lpszText  = LPSTR_TEXTCALLBACK;
        ti.rect.left = ti.rect.top = ti.rect.bottom = ti.rect.right = 0;
    dans la fonction OnRButtonDown:
    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
     
     //fonctions pour specifier les message windows
     tool->SendMessage(TTM_ADDTOOL,0,(LPARAM)&ti);
        tool->SendMessage(TTM_TRACKACTIVATE,(WPARAM)true,(LPARAM)&ti);
        tool->SendMessage(TTM_SETMAXTIPWIDTH,0,(LPARAM)SHRT_MAX);
     
        tool->EnableTrackingToolTips(true);
        tool->EnableToolTips(true);
     //On active l'info bulle
        tool->Activate(true);
     
     //On affiche la'info bulle avec son texte
     sprintf(text,"ng=%d",ng);
        CPoint p=point;
        ClientToScreen(&p);
        tool->SendMessage(TTM_TRACKPOSITION,0,(LPARAM)MAKELPARAM(p.x+20,p.y+20));
     //le +20 c'est à décaler l'affichage à côté du curseur et pas pile dessous
    dans la fonction OnRButtonUp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tool->DelTool(this,0);
    je ne vois pas l'erreur qui fait que mon info bulle ne disparraisent pas.
    Est ce que quelqu'un saurait?

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    est-ce que tu passe dans OnRButtonUp lors de l'execution?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Par défaut
    vu que je suis en MFC, la fonction ce lance automatiquement des que je relache la bouton droit de la souris. de plus l'erreur j'ai essayer d'utiliser DelTool dans la même fonction ou je l'affiche, or l'affichage marchait, mais pas la disparition de l'info bulle, donc je sais pas pourquoi la fonction DelTool ne marche pas.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Par défaut
    Est ce que quelq'un a une solution a mon probleme, parce que la je suis vraiment coincer!!

  5. #5
    Membre expérimenté
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Par défaut
    Ce qui suit n'est qu'une hypothese car je n'ai jamais utiliser ce type de controle mais d'apres ce que j'ai compris de la doc, tu n'appelles pas la bonne methode pour effacer le tooltip. Quand tu dis effacer, je pense que cela signifie effacer de l'ecran (methode POP vraisemblablement), alors que ta methode (DelTool) efface le tooltip de la liste des tooltip activables.

    J'espere que ce j'ecris est assez clair ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Par défaut
    je venais de trouver la reponse tout seul, mais merci quand meme pour ta reponse

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

Discussions similaires

  1. [MFC] Utilisation de la classe CSocket
    Par Sh4rk dans le forum MFC
    Réponses: 3
    Dernier message: 01/06/2005, 16h42
  2. [MFC]Utilisation d'un SLIDER , problème de conversion
    Par sylvain_c42 dans le forum MFC
    Réponses: 1
    Dernier message: 10/05/2005, 14h31
  3. [MFC] utilisation de printPreview
    Par Tsunamis dans le forum MFC
    Réponses: 7
    Dernier message: 05/04/2005, 10h14
  4. [MFC] Utilisation de sockets
    Par keupon dans le forum MFC
    Réponses: 2
    Dernier message: 28/01/2004, 14h37
  5. [MFC] Utilisation Drivers
    Par LAPLACE dans le forum MFC
    Réponses: 4
    Dernier message: 21/12/2002, 10h29

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