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

Re: Quelques questions sur les gadgets
Publié : dim. 23/juin/2019 15:50
par Marc56
1. EditorGadget
2. Non
3. Non
1. 2. 3.

F1
2. 3. Sauf bidouille

Re: Quelques questions sur les gadgets
Publié : dim. 23/juin/2019 16:50
par SPH
Grand merci Marc

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)
* 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)
Et ça marche que sous Windows

Re: Quelques questions sur les gadgets...
Publié : mar. 25/juin/2019 15:04
par venom
Oui API Windows
@++
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 !
