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

Signaler
-
Messages postés
231
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
26 janvier 2021
-
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.

7 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
28
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...
Messages postés
32935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 juin 2021
351
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.


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.
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.
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.
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.
Messages postés
231
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
26 janvier 2021
1
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