Page 1 sur 1

[Re-résolu] Quelques questions sur les gadgets...

Publié : dim. 23/juin/2019 15:12
par SPH
Salut,

existe t'il un string gadget que l'on peux remplir sur plusieurs lignes ?
Par exemple, lui inserer tout ca :
a
b
c
d
e
(en une fois)

Peut on choisir la largeur d'un onglet ?
Peut on centrer le nom d'un onglet ?

Thx 8)

Re: Quelques questions sur les gadgets

Publié : dim. 23/juin/2019 15:50
par Marc56
1. EditorGadget
2. Non
3. Non

1. 2. 3. :arrow: F1
2. 3. Sauf bidouille

:wink:

Re: Quelques questions sur les gadgets

Publié : dim. 23/juin/2019 16:50
par SPH
Grand merci Marc :arrow: 8)

Re: [Résolu] Quelques questions sur les gadgets...

Publié : lun. 24/juin/2019 8:14
par MLD
Salut SPH
C'est pas une bidouille

Code : Tout sélectionner

      Const=#ES_MULTILINE|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT
      StringGadget(1, 5, 5, 200, 150,"",Const)

Re: [Résolu] Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 12:50
par SPH
salut,

questions :
comment mettre le focus sur un EditorGadget ?
comment voir automatiquement la fin du texte dans un EditorGadget ? (EditorGadget(2001, 10, 160, 276, 140, #PB_Editor_ReadOnly | #PB_Editor_WordWrap) )
en le remplissant, on reste quand meme sur le tout premier mot...

Re: Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 13:21
par Marc56
1. SetActiveGadget
2. Ajouter une ligne vide à la fin

Méthode Basic

Code : Tout sélectionner

OpenWindow(0, 0, 0, 322, 150, "EditorGadget")  
EditorGadget(0, 8, 8, 306, 133) 

; Créer un texte
For i = 1 To 20
    Txt$ + "ABC" + Chr(10) 
Next

; Mettre le texte dans le gadget
SetGadgetText(0, Txt$)

; Définir le gadget actif
SetActiveGadget(0)

; Ajouter une ligne (vide) à la fin
AddGadgetItem(0, -1,"")

; Puis enlever cette ligne en trop
RemoveGadgetItem(0, CountGadgetItems(0)-2)

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
Possible aussi (je pense) avec API pour ne pas avoir à ajouter/supprimer une ligne.

Re: Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 13:37
par falsam
SPH a écrit :comment voir automatiquement la fin du texte dans un EditorGadget ?

Code : Tout sélectionner

Declare Start()
Declare Exit()

Start()

Procedure Start()
  OpenWindow(0, 0, 0, 800, 600, "Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  EditorGadget(0, 10, 10, 500, 400, #PB_Editor_ReadOnly)
  
  ; Un peu de remplissage pour ce test
  For n = 1 To 100
    AddGadgetItem(0, -1, "Ligne " + Str(n))
  Next
  
  ; Positionnement en fin d'editor  
  SendMessage_(GadgetID(0), #EM_SETSEL, -1, 0)
    
  ;Triggers
  BindEvent(#PB_Event_CloseWindow, @Exit())
  
  Repeat : WaitWindowEvent() : ForEver
EndProcedure

Procedure Exit()  
  End
EndProcedure
* API Window

Pour se positionner au début (C'est pour info)

Code : Tout sélectionner

SendMessage_(GadgetID(0), #EM_SETSEL, 0, 0)
* API Window

Re: Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 14:51
par Mindphazer
falsam a écrit : Pour se positionner au début (C'est pour info)

Code : Tout sélectionner

SendMessage_(GadgetID(0), #EM_SETSEL, 0, 0)
Et ça marche que sous Windows :mrgreen:

Re: Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 15:04
par venom
Oui API Windows :wink:







@++

Re: Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 17:28
par falsam
Mindphazer a écrit :Et ça marche que sous Windows
Quelque chose de ce style te conviendrait mieux pour MacOS ?

Code : Tout sélectionner

Declare Start()
Declare Exit()

Start()

Procedure Start()
  OpenWindow(0, 0, 0, 800, 600, "Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  EditorGadget(0, 10, 10, 500, 400, #PB_Editor_ReadOnly)
  
  ; Un peu de remplissage pour ce test
  For n = 1 To 100
    AddGadgetItem(0, -1, "Ligne " + Str(n))
  Next
  
  ; Positionnement en fin d'editor  
  Range.NSRange\location = Len(GetGadgetText(0))
  CocoaMessage(0, GadgetID(0), "scrollRangeToVisible:@", @Range) 
    
  ;Triggers
  BindEvent(#PB_Event_CloseWindow, @Exit())
  
  Repeat : WaitWindowEvent() : ForEver
EndProcedure

Procedure Exit()  
  End
EndProcedure
Testé sous El Capitan

Re: Quelques questions sur les gadgets...

Publié : mar. 25/juin/2019 21:19
par Mindphazer
Très bien ! 8)