Problème avec tooltips

Résolu
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 16 juin 2007 à 20:20
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 18 juin 2007 à 13:19
Bonjour,

Je recherche un moyen permettant de créer un tooltip pouvant contenir plusieurs lignes.
Les tooltips que je crée actuellement n'occupent qu'une seule ligne.

Comment faire un tooltip s'étendant sur plusieurs lignes?
Comment lui montrer qu'il doit marquer un retour chariot?
Avec '\n'?

En C API Win32...

<hr />

Merci d'avance et à bientôt.

Nico

L'entraide est une source inépuisable...

6 réponses

racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
17 juin 2007 à 13:48
Salut,
Je pense que les ToolTips ne prennent pas en charge les "\n" ou "\r" pour passer à la ligne suivante. Mais tu peux limiter la largeur du ToolTip pour le forcer à afficher le texte en plusieurs lignes:
SendMessage(hwndToolTip,TTM_SETMAXTIPWIDTH ,0,100);
Le dernier paramètre étant la largeur en pixels à donner au ToolTip.
3
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
18 juin 2007 à 00:23
Tu peux faire:
#define TTM_SETMAXTIPWIDTH     0x0418

Pour profiter des dernières fonctionnalités, tu peux remplacer le fichier comctl32.dll situé dans le dossier system32 par une version plus récente.
3
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
17 juin 2007 à 23:01
Merci beaucoup pour cette réponse...









Nico
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
17 juin 2007 à 23:09
Bonjour,


Juste un problème avec cette technique :
Cette technique necessite : Windows 2000, Windows NT 4.0 with Internet Explorer 3.0, Windows 98, Windows 95 with Internet Explorer 3.0. Ce système d'exploitation étant "récent", l'utilisation de cette technique empêcherais l'exécution de mon application sur un Windows 98.
cf. http://msdn2.microsoft.com/en-us/library/ms650565.aspx

De plus DEV C++ ne connait pas TTM_SETMAXTIPWIDTH : `TTM_SETMAXTIPWIDTH' undeclared (first use in this function) .
Comment faire pour que DEV-C++ le reconnaisse?
 <hr />Merci d'avance et à bientôt.

Nico
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
18 juin 2007 à 13:11
Bonjour,

Merci ça marche parfaitement bien.

Je cherche maintenant à savoir comment "déclarer"* :
 - TTM_SETTIPBKCOLOR
 - TTM_SETTIPTEXTCOLOR
*Exemple : #define TTM_SETMAXTIPWIDTH     0x0418

Où peut-on trouver ces informations?

<hr />

Merci d'avance et à bientôt.

Nico
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
18 juin 2007 à 13:19
Bonjour,

C'est bon,
j'ai découvert le moyen de découvrir ces informations :
 - j'ai ouvert commctrl.h
 - j'ai recherché TTM_SETTIPBKCOLOR et TTM_SETTIPTEXTCOLOR
 - et est trouvé :
    #define TTM_SETTIPBKCOLOR   (WM_USER+19)
  #define TTM_SETTIPTEXTCOLOR (WM_USER+20)
 - j'ai ensuite mis ces informations dans mon projet, et ça marche

<hr />




Merci racpp et à bientôt.






Nico
0
Rejoignez-nous