Bonjour,
J'ai besoin d'afficher un tooltip sur un bouton. Lorsque mon bouton est désactivé (m_Bouton.EnableWindow(false)) le tooltip n'apparait pas et ce malgré qu'il à été créé avec le paramètre TTS_ALWAYSTIP.
Avez vous une idée pour moi ?
Merci
Bonjour,
J'ai besoin d'afficher un tooltip sur un bouton. Lorsque mon bouton est désactivé (m_Bouton.EnableWindow(false)) le tooltip n'apparait pas et ce malgré qu'il à été créé avec le paramètre TTS_ALWAYSTIP.
Avez vous une idée pour moi ?
Merci
salut,
comment est géré ton tooltip (création ,relai des messages etc) ?
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
J'utilise une classe dérivée de CToolTipCtrl pour réaliser le sous-classement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 BOOL CMyToolTipCtrl::AddToolWindow (CWnd* pWnd, LPCTSTR pszText) { TOOLINFO ti; ti.cbSize = sizeof(TOOLINFO); ti.uFlags = TTF_IDISHWND | TTF_SUBCLASS; ti.hwnd = pWnd->GetParent()->GetSafeHwnd(); ti.uId = (UINT) pWnd->GetSafeHwnd(); ti.hinst = AfxGetInstanceHandle(); ti.lpszText = (LPTSTR) pszText; return (BOOL) SendMessage(TTM_ADDTOOL,0,(LPARAM)&ti); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 .h ... #include "MyToolTipCtrl.h" CMyToolTipCtrl m_TTSelectBut; ....Lorsque le bouton m_ButtonSelect est "Enabled" le tooltip est bien affiché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 .cpp ...::OnInitDialog() m_TTSelectBut.Create(this, TTS_NOPREFIX|TTS_ALWAYSTIP); m_TTSelectBut.AddToolWindow(&m_ButtonSelect,MAKEINTRESOURCE(IDS_SHEETSSELP_MAXFLOWWARNINGMSG));
salut,
je ne vois pas le code pour relayer les evenements...
tu as vu ce post de la faq ?:
http://c.developpez.com/faq/vc/?page...ic#MakeToolTip
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Normalement a cause de l'indicateur TTF_SUBCLASS passé dans le champ uFlag de la structure TOOLINFO, l'info-bulle effectue son propre sous classement de fenêtre et les message souris ne doivent pas être réexpédiés manuellement!
J'ai également essayé sans utiliser cette classe, en créant CToolTipCtrl m_TTSelectBut et en implémentant le relay dans PreTranslateMessage(MSG* pMsg) sans plus de succès.
Voici un petit projet pour illuster mon problème.
Si le bouton est désactivé le ToolTips n'apparaît pas et ce malgré TTS_ALWAYSTIP placé dans la création de celui-ci
Any?
Partager