Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Contexte :
Je crée un modèle de document à partir de plusieurs fichiers rtf, jusque là pas de souci avec la fonction InsertDocument().
Je veux insérer du texte qui ne provient pas d'un fichier rtf, là encore pas de souci, avec les fonctions clipboard() et paste() il me colle bien mon texte.
En revanche dès que j'agis sur la mise en forme avec la fonction setTextStyle il change la police pour la passer en Arial.
Pour info, dans l'objet visuel RichTextEdit il y a une liste déroulante en haut à gauche avec les valeurs
[Normal]
Normal
footer
BODY
[Utiliser la police du paragraphe]
Sur les lignes d'au dessus ce paramètre est à Normal (sans crochet).
Sur le texte que j'ai inséré il est en [Normal] et en Arial alors que le document est en Times New Roman.
Si je sélectionne ma ligne et que je le passe en Normal (sans crochet) la police est rétablie en Times New Roman.
Je ne trouve pas cette propriété dans l'objet RichTextEdit. Apparemment il suffirait de changer cette valeur.
Je ne peux pas voir le nom de cette liste déroulante car c'est encapsulé dans l'objet Powerbuilder on ne peux pas la sélectionner.
Question
Savez-vous comment agir sur cette propriété ?
Merci beaucoup
ls_chaineToWrite = "~n"+"~n"+'Article '+string(i_iCompteurArticle)+' - ' +a_sTitreArticle+"~n"+"~n"+"~n" clipBoard(ls_chaineToWrite) uo_ttx.rte_ttx.paste() lineToSelect = uo_ttx.rte_ttx.LineCount( ) if lineToSelect> 0 then //Rétablit le insertion point en fin de document pour ne pas écraser du contenu l_iRc = uo_ttx.rte_ttx.SelectText ( ( lineToSelect -3) ,1, ( lineToSelect -3), len(trim(ls_chaineToWrite))) if l_iRc < 0 then MessageBox('erreur', 'Une erreur est survenue à la sélection de la ligne de titre pour mise en forme') end if //Passe le titre en gras souligné l_iRc = uo_ttx.rte_ttx.setTextStyle(true, true, false, false,false, false)//C'est cette ligne qui fait sauter la police pour la passer en Arial if l_iRc < 0 then MessageBox('erreur', 'Une erreur est survenue à la mise en forme du titre du modèle de contrat pour l~'article '+a_sTitreArticle) end if //Rétablit le insertion point en fin de document pour ne pas écraser du contenu l_iRc = uo_ttx.rte_ttx.selectText(lineToSelect, 1, lineToSelect, 1) //Vider le presse papier end if
Dernière modification par stef (13-01-2017 16:41:06)
Hors ligne
Je ne pense pas que la police soit une propriété dans l'objet RichTextEdit mais une valeur du fichier RTF.
Pour vérifier il faut regarder le fichier RTF avec tous ses tags puis isoler le tag qui fait référence à la police.
Hors ligne