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 :

Afficher un ToolTip sur un bouton désactivé


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut Afficher un ToolTip sur un bouton désactivé
    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

  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,
    comment est géré ton tooltip (création ,relai des messages etc) ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    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;
    ....
    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));
    Lorsque le bouton m_ButtonSelect est "Enabled" le tooltip est bien affiché.

  4. #4
    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,
    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

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    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.
    Images attachées Images attachées   

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    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 ?
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Afficher du texte sur des boutons ou label
    Par Geroni dans le forum Débuter
    Réponses: 1
    Dernier message: 31/08/2011, 09h25
  2. Créer un texte tooltip sur un bouton ou lien dans une page asp
    Par Contact2012 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/05/2009, 00h26
  3. Réponses: 4
    Dernier message: 19/11/2007, 09h03
  4. Comment afficher une image sur un bouton
    Par MilouTux dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 30/04/2007, 15h18
  5. Réponses: 11
    Dernier message: 15/06/2005, 15h31

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