Page 1 sur 1

gadgettooltip() - Infobulle - Maitriser la zone d'affichage

Publié : jeu. 07/avr./2005 10:05
par GG
Bonjour à tous,

Je souhaiterais utiliser l'équivalent de la fonction gadgettooltip, qui me permette de matriser l'endroit où je veux afficher le contenu de l'infobulle. En fait, je souhaiterais afficher le contenu de l'info bulle dans un gadget précis quelque soit les gadget que je survole avec le curseur de la souris.

Est ce possible ?

D'avance, merci de vos conseils et remarques.

Publié : jeu. 07/avr./2005 10:32
par Le Soldat Inconnu
oui, c'est très simple ;)

Code : Tout sélectionner

OpenWindow(0, 0, 0, 300, 200, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Aide")
CreateGadgetList(WindowID())

ButtonGadget(1, 0, 0, 100, 20, "bouton 1")
ButtonGadget(2, 100, 50, 100, 20, "bouton 2")

CreateStatusBar(0, WindowID())
AddStatusBarField(200)

Repeat
  Event = WaitWindowEvent()
  
  If Event = #WM_MOUSEMOVE ; Si on bouge la souris
    
    Select WindowFromPoint_(DesktopMouseX(), DesktopMouseY()) ; on regarde le handle du gadget sous la souris
      Case GadgetID(1)
        StatusBarText(0, 0, "au dessus du bouton 1")
      Case GadgetID(2)
        StatusBarText(0, 0, "au dessus du bouton 2")
      Default 
        StatusBarText(0, 0, "") ; Si on n'est pas au dessus d'un gagdet avec aide, pas de texte
    EndSelect
    
  EndIf
  
Until Event = #PB_EventCloseWindow

Publié : jeu. 07/avr./2005 12:15
par GG
Merci beaucoup Soldat Inconnu, si ça fonctionne avec tout type de gadget, c'est génial.

Publié : jeu. 07/avr./2005 12:29
par GG
Je n'ai pas l'impression que cela fonctionne avec un textgadget. Je vais voir comment je peux faire.

Publié : jeu. 07/avr./2005 12:42
par Le Soldat Inconnu
non, un textgadget est un gadget dit statique donc ça ne marche pas avec, idem avec Frame3DGadet, etc ...
par contre, ça doit marcher avec les ImageGadget

Publié : jeu. 07/avr./2005 13:10
par GG
L'autre contrainte est que je ne peux pas écrire sur plusieurs lignes.

Publié : jeu. 07/avr./2005 13:14
par gansta93
Dans ce cas, utilise un editorGadgetau lieu delabarred'état.

Publié : jeu. 07/avr./2005 13:19
par GG
Du velours gansta93, c'est parfait !

Merci beaucoup à vous 2 pour votre aide.

Publié : jeu. 07/avr./2005 14:01
par Le Soldat Inconnu
un textgadget ou un stringgadget avec l'option lecture seule et multilignes me semble mieux indiqué q'un editorgadget.

sauf si tu souhaites faire de l'affichage plus complexe avec du gras, des couleurs etc ...
la il vaut mieux passer par un editorgadget, et la libeditorplus de progi1984 me semble tout indiqué ;) (voir en dans les annonces)