Créer une info bulle en API Windows [Résolu]

simac - 18 juil. 2014 à 13:00 - Dernière réponse : denisbertin 163 Messages postés lundi 22 avril 2013Date d'inscription 6 avril 2018 Dernière intervention
- 31 juil. 2014 à 15:35
Bonjour.
Voila, j'aimerais créer une info bulle avec l'API Windows. Plusieurs topics en parle, mais ils sont pour C++ Builder.
Pouvez-vous m'aider?

Cordialement,

Simac.
Afficher la suite 

7 réponses

Répondre au sujet
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscriptionModérateurStatut 7 novembre 2014 Dernière intervention - 19 juil. 2014 à 09:52
+1
Utile
Voici quelques 'mots cle' pour rechercher infos completes sur MSDN.

HWND hTT = CreateWindowEx(0, TOOLTIPS_CLASS,...);
...

TOOLINFO ti;
ti.cbSize = sizeof(TOOLINFO);
Remplir le reste de la struct.
ti.lpszText = LPSTR_TEXTCALLBACK;
SendMessage(hTT, TTM_ADDTOOL, 0, (LPARAM) &ti);

Section MSDN:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb760246(v=vs.85).aspx

ciao...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de BruNews
jordane45 20558 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 18 juil. 2014 à 14:22
0
Utile
Bonjour,
Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide.

Toutes les réponses sur le forum sont assurées par des bénévoles
qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit" et ne sommes pas là pour remplacer votre moteur de recherches...
... Soit tu trouves ton bonheur dans la partie source du site, soit à l'aide de ton moteur de recherche favori.

Ici, nous aidons volontiers sur des sujets techniques précis.

Je t'invite à lire avec attention le contenu du lien suivant :
charte-de-commentcamarche-net : conseils-d-ecriture

Ainsi que celui concernant l'utilisation de la coloration syntaxique :
Utilisation des Balises de code

Merci donc de reformuler ta demande en respectant ces quelques points.

Quelques points essentiels à retenir :
- On ne pose qu' UNE question par discussion
- Le titre de la question doit refléter le souci rencontré ( Help.. SOS.. Urgent.. n'apporte aucune information utile !)
- Lorsque votre question est résolue.. merci de clore le sujet (lien Marquer comme résolu se trouvant sous le titre de votre question).
- Une question obtiendra de meilleurs réponses si elle est correctement rédigée, que les explications sont clairs et qu'éventuellement vous postez le code qui pose problème.
- Si vous avez un message d'erreur..... MARQUEZ LE (dans son intégralité).

Merci.


Commenter la réponse de jordane45
0
Utile
Bonjour, je ne cherche pas à obtenir du code "tout cuit", mais de l'aide pour créer une info bulle. Je pense que vous devez vous douter que, si j'ai créé cette discussion, c'est que je n'ai pas trouvé la réponse sur mon moteur de recherche favoris (Google pour ne pas le citer), ni dans les codes sources, et encore moins dans les tutoriels.

Les topics traitants le sujet, parlaient de C++Builder, or je suis sous DevC++, ou de MFC, seulement je programme avec l'API Windows.
Je précise tout de même que j'ai testé les instructions fournis, et qu'elles ne fonctionnaient pas chez moi :
THintWindow* myhint;

Message d'erreur:
'THintWindow' undeclared (first use this function) 


Par conséquent, j'espère avoir un peut d'aide pour réaliser cet objet.
Cordialement,
Simac.
Commenter la réponse de simac
0
Utile
Merci pour votre réponse, le contenu du lien crée bien une info bulle. Seulement, j'aimerais qu'elle n'apparaisse que quand je survole une zone précise de la fenêtre, et pas seulement quand le pointeur de la souris est au dessus d'un bouton.

Pour la zone, j'utilise cette méthode:
case WM_MOUSEMOVE:
	 	 {
 	  	     POINT pos;
    		 GetCursorPos(&pos);
    		 ScreenToClient(hDlg,&pos);
                 RECT rect={20,20,30,30};
 	  	 if(PtInRect(&rect,pos))//ceci marche
 	  	 {
                      //ici je voudrait donner l'instruction qui crée 
                      //l'info bulle

                      //CreateToolTip(?,hDlg," coucou");
               	}
		 }


Y a-t-il quelque chose à mettre à la place du point d'interrogation?
Merci.

Simac.
Commenter la réponse de simac
0
Utile
Oups! Je n'ai pas fait attention! Ce n'est pas le contenu de ce lien qui crée une info bulle, c'est le contenu de celui-la:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh298368%28v=vs.85%29.aspx.
Commenter la réponse de simac
0
Utile
Décidément, ce n'est pas mon jour!! Ma connexion Internet laissant à désirer, elle ne me permettait pas d'aller consulter la page http://msdn.microsoft.com/en-us/library/windows/desktop/bb760252%28v=vs.85%29.aspx, et donc je ne pouvait pas voir ce lien http://msdn.microsoft.com/en-us/library/windows/desktop/hh298369%28v=vs.85%29.aspx qui faisait tout ce que je voulait.

Merci encore à vous BruNews!

Simac.
Commenter la réponse de simac
denisbertin 163 Messages postés lundi 22 avril 2013Date d'inscription 6 avril 2018 Dernière intervention - 31 juil. 2014 à 15:35
0
Utile
Quand tu reçoit le message Wm_MouseMove(..) tu peut obtenir les coordonnées de la souris dans le message qui est ainsi transmis ceci dans le système de coordonné de la fenêtre.

apoint.x=Smallint(loword(msg.lparam));
apoint.y=Smallint(hiword(msg.lparam));

écrit à Bourges
Commenter la réponse de denisbertin

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.