Créer une info bulle en API Windows

Résolu
simac - 18 juil. 2014 à 13:00
denisbertin Messages postés 245 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 13 mai 2023 - 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.

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juil. 2014 à 09:52
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...
1
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
18 juil. 2014 à 14:22
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.


0
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.
0
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.
0

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

Posez votre question
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.
0
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.
0
denisbertin Messages postés 245 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 13 mai 2023 1
31 juil. 2014 à 15:35
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
0
Rejoignez-nous