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?