Page 1 sur 1

GadgetToolTip

Publié : lun. 22/oct./2018 19:19
par Jeanmarc
Re Bonjour,

Le TexteGadget est l'un des seuls à ne pas profiter de GadgetToolTip.

C'est dommage, je voulais expliquer différents Textes

JM

Re: GadgetToolTip

Publié : lun. 22/oct./2018 19:32
par Noos88
Pouquoi ne pas utilisé un StringGadget a la place d'un TextGadget
exemple:

Code : Tout sélectionner

If OpenWindow(0,0,0,270,160,"TextGadget",#PB_Window_SystemMenu | #PB_Window_ScreenCentered) 

    StringGadget(1, 10, 40,250,20,"Gadget texte",#PB_String_ReadOnly|#PB_String_BorderLess)
    GadgetToolTip(1,"coucou")

    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  EndIf

Re: GadgetToolTip

Publié : lun. 22/oct./2018 19:41
par Christophe
Bonjour,
effectivement un StringGadget ou simplement un ContainerGadget

Code : Tout sélectionner

OpenWindow(0, 0, 0, 322, 150, "ToolTip sur Ligne de Texte", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

ContainerGadget(0, 10, 10, 50, 20) 
TextGadget(1, 0, 5, 40, 20, "le texte") 
GadgetToolTip(0,"ToolTip") 
CloseGadgetList() 

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 

Re: GadgetToolTip

Publié : lun. 22/oct./2018 20:37
par Jeanmarc
Merci de répondre,

Non le StringGadget affiche le curseur et même si l'on met ReadOnly. L'affichage est plus grand. Ingérable.

Container ok mais quelle quantité de code pour afficher un simple texte.

Tampis je vais faire autrement

merci quand meme,

JM

Re: GadgetToolTip

Publié : lun. 22/oct./2018 23:29
par Christophe
Si tu as beaucoup de TextGadget, pourquoi ne pas faire une procedure ?

Code : Tout sélectionner

Procedure TextGadgetTip(Gadget, x, y, width, height, Text$, ToolTip$)
  
  Gad = ContainerGadget(#PB_Any, x, y, width, height)
  TextGadget(Gadget, 0, 0, width, height, Text$)
  GadgetToolTip(Gad, ToolTip$)
  CloseGadgetList()
  
EndProcedure


OpenWindow(0, 0, 0, 300, 200, "Text ToolTip", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

TextGadgetTip(1, 50, 30, 40, 20,"Texte 1","ToolTip 1")
TextGadgetTip(2, 50, 50, 40, 20,"Texte 2","ToolTip 2")
TextGadgetTip(3, 50, 70, 40, 20,"Texte 3","ToolTip 3")

Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow

Re: GadgetToolTip

Publié : mar. 23/oct./2018 4:14
par Jeanmarc
Christophe,

Ton code fonctionne très bien.

J'ai fais une interface dont je suis satisfait, présentation et fonctionnement.
Je me suis dit, je vais associer des Tool tip aux TexGadjet, car naïvement cela me semblait évident.

En fait quand j'ajoute un Gadget, je ne connais pas le code qu'il y a derrière et si le fonctionnement ne vas pas être ralenti.
J'ajoute 50 containers.

Je retiens ton idée
Merci,

JM

Re: GadgetToolTip

Publié : mar. 23/oct./2018 8:30
par Christophe
JM

Je ne comprends pas trop ce que tu veux dire par "je ne connais pas le code qu'il y a derrière"

Je pense que tu veux dire "Numéro de Gadget", tu as peut être peur qu'un Container rentre en conflit
avec un de tes Gadgets ? J'ai fais un essai et le premier numéro de mon Container s'elevait à plus de 31000000
donc il y a peu de risque.

En ce qui concerne le ralentissement, je ne pense pas qu'un ToolTip prends beaucoup de ressource.

Re: GadgetToolTip

Publié : mar. 23/oct./2018 11:27
par Jeanmarc
Oui, c'est cela qui m'inquiétais le problème de ressource.

50 container rien que pour des Tool tip. Bon ok, si cela fonctionne.

C'est mon défaut, je veux faire le plus simple possible. Mais il faut quand meme un minimum de code.

Merci encore,

JM

Re: GadgetToolTip

Publié : mar. 23/oct./2018 12:16
par Micoute
Je ne comprends pas pourquoi tant de container ?

Re: GadgetToolTip

Publié : mar. 23/oct./2018 14:17
par zaphod_b
Salut,

pour le tooltip sur textgadget (ou le click) il faut le #SS_NOTIFY :

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #Text_0 
EndEnumeration
;}
Define.l Event
;}

Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 450, 200, 400, 400, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    TextGadget(#Text_0, 40, 40, 130, 30, "Gadget_0",#SS_NOTIFY)
    GadgetToolTip(#Text_0,"essai tooltip")
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Text_0
          Debug "ici"
      EndSelect
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver

Re: GadgetToolTip

Publié : mar. 23/oct./2018 16:56
par MLD
@zaphod_b

Merci. Je savais pour le click mais pas pour le tooltip