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
Version imprimable
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) ?
:D
J'utilise une classe dérivée de CToolTipCtrl pour réaliser le sous-classement
Code:
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:
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:
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
:D
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 :cry:
Any :idea: ?