Page 1 sur 1
Gadget text - Passage à la ligne
Publié : dim. 19/avr./2020 15:14
par pls
Bonjour,
Je suis en train de réaliser un écran de saisie en utilisant les XMLDialog et j'ai des champs sur lesquels j'ai des textes assez long.
Est il possible de préciser lors de l'affichage des données de passer automatiquement à la ligne dans le champ ?
Code : Tout sélectionner
" <frame text = 'Description'>"+
" <string name = 'fonc_app' height = '150'/>"+
" </frame>"+
Merci d'avance.
Re: Gadget text - Passage à la ligne
Publié : dim. 19/avr./2020 15:35
par Ar-S
Salut,
Si tu utilises un editorgadget, tu as le flag #PB_Editor_WordWrap pour les retours auto à la ligne.
Sinon sois plus précis ou donne du code.

Re: Gadget text - Passage à la ligne
Publié : dim. 19/avr./2020 15:55
par pls
Merci, je ne connaissais pas encore l'editorGadget - En apprentissage
Et voici le code très inspiré de la formation Udemy.
Par contre comment je peux utiliser ce gadget dans mon XML (desc_app, fonc_app) ?
Code : Tout sélectionner
Module app_fic
EnableExplicit
; variables communes
Global form_id ; identifiant fenêtre non accessible de l'exterieur
Global xml
Global dialog_id ; fenetre qui s'appelle dialog
Global gMotherWindow
; Variable propre à la fenetre
Global gCurrentRecord, bt_validate, bt_cancel, lib_app, desc_app, fonc_app
Procedure makeXml()
Protected title.s = "Nouvelle application"
If gCurrentRecord
title = "Fiche application"
EndIf
Protected text.s = "<window name = 'form' width = '600' "+
" text = "+Chr(34)+title+Chr(34)+
" flags = '#PB_Window_SystemMenu|#PB_Window_WindowCentered'>"+
" <vbox expand = 'item:1'>"+
" <vbox>"+
" <frame text = 'Nom'>"+
" <string name = 'lib_app' />"+
" </frame>"+
" <frame text = 'Description'>"+
" <string name = 'desc_app' height = '100'/>"+
" </frame>"+
" <frame text = 'Description'>"+
" <string name = 'fonc_app' height = '150' />"+
" </frame>"+
" </vbox>"+
" <hbox expand = 'no' width ='100'>"+
" <button text = 'Valider' name = 'bt_validate'/>"+
" <button text = 'Annuler' name = 'bt_cancel'/>"+
" </hbox>"+
" </vbox>"+
"</window>"
xml = CatchXML(#PB_Any,@text,StringByteLength(text))
ProcedureReturn xml
EndProcedure
Procedure exit()
; ferme la fenêtre
CloseWindow(form_id)
; réactive la fenêtre mère et lui rend le focus
DisableWindow(gMotherWindow,#False)
SetActiveWindow(gMotherWindow)
EndProcedure
; Validation enregistrement
Procedure validate()
Debug "Validation"
EndProcedure
; Remplissage du record en mode edit
Procedure fillRecord()
If app::find(gCurrentRecord)
SetGadgetText(lib_app, app::lib_app)
SetGadgetText(desc_app, app::desc_app)
SetGadgetText(fonc_app, app::fonc_app)
EndIf
EndProcedure
Procedure open(motherWindow, currentRecord = 0)
Protected font = LoadFont(#PB_Any, "Arial", 10, #PB_Font_HighQuality)
gMotherWindow = motherWindow
gCurrentRecord = currentRecord
If makeXml()
dialog_id = CreateDialog(#PB_Any)
If dialog_id
SetGadgetFont(#PB_Default, FontID(font))
If OpenXMLDialog(dialog_id, xml,"form",0,0,0,0, WindowID(motherWindow))
; Désactiver le fenêtre mère
DisableWindow(gMotherWindow,#True)
; Charge les ID des gadgets
form_id = DialogWindow(dialog_id)
bt_validate = DialogGadget(dialog_id, "bt_validate")
bt_cancel = DialogGadget(dialog_id, "bt_cancel")
lib_app = DialogGadget(dialog_id, "lib_app")
desc_app = DialogGadget(dialog_id, "desc_app")
fonc_app = DialogGadget(dialog_id, "fonc_app")
; Remplir les champs en mode edit
If gCurrentRecord
fillRecord()
EndIf
; Mise en place des callBack
BindEvent(#PB_Event_CloseWindow, @exit(),form_id)
BindGadgetEvent(bt_validate, @validate())
BindGadgetEvent(bt_cancel, @exit())
EndIf
EndIf
EndIf
EndProcedure
EndModule
Re: Gadget text - Passage à la ligne
Publié : dim. 19/avr./2020 16:00
par pls
Ho flemmard que je suis. En cherchant un peu, c'est bon. Merci beaucoup en tout cas.
Code : Tout sélectionner
Protected text.s = "<window name = 'form' width = '600' "+
" text = "+Chr(34)+title+Chr(34)+
" flags = '#PB_Window_SystemMenu|#PB_Window_WindowCentered'>"+
" <vbox expand = 'item:1'>"+
" <vbox>"+
" <frame text = 'Nom'>"+
" <string name = 'lib_app' />"+
" </frame>"+
" <frame text = 'Description' >"+
" <editor name = 'desc_app' height = '100' flags = '#PB_Editor_WordWrap'/>"+
" </frame>"+
" <frame text = 'Description'>"+
" <string name = 'fonc_app' height = '150' />"+
" </frame>"+
" </vbox>"+
" <hbox expand = 'no' width ='100'>"+
" <button text = 'Valider' name = 'bt_validate'/>"+
" <button text = 'Annuler' name = 'bt_cancel'/>"+
" </hbox>"+
" </vbox>"+
"</window>"