Edition d'un QrRichText (texte incomplet et alignement) [Résolu]

Messages postés
5
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
13 décembre 2004
- 10 déc. 2004 à 09:51 - Dernière réponse :
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
- 14 déc. 2004 à 22:33
Bonjour,

J'ai un petit soucis avec le composant QrRichText.
Je le charge à partir d'un fichier (QrRichText1.Lines.LoadFromFile(fic)) mais il ne m'édite que les 2/3 du texte, alors que quand j'inspecte la valeur QrRichText1.Lines.Text il y a bien tout le fichier. Le composant fait la taille d'une feuille A4.
Aussi, j'aurais voulu pouvoir justifier le texte (alignement gauche et droite en même temps) comme dans Word. J'ai bien cherché un peu partout sur le net, mais rien trouvé. Si quelqu'un a la soluc.

Merci ;-)
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 10 déc. 2004 à 20:58
3
Merci
Le problème de
RichEdit1.Paragraph.Numbering := TNumberingStyle(True);
, qui ne se pose pas avec des ActionList, c'est que quand la puce est mise, on ne peut pas l'enlever...
Bien sur, tu me dira qu'il faut faire
RichEdit1.Paragraph.Numbering := TNumberingStyleFalse);
, mais comment savoir, là ou tu cliques (n'importe où dans le RichEdit), s'il y a une puce ou pas, pas une méthode SIMPLE ?!
;)

Pour
RichEdit1.SelAttributes.Style := RichEdit1.SelAttributes.Style + [fsBold];
, comment savoir si le texte est déjà en gras... et comment faire pour enlever SIMPLEMENT ?

Non, vraiment, l'usage d'un ActionList est vraiment préférable... Tu n'as même pas besoin d'une ligne de code !

Chez moi, il y a bien la catégorie Format quand tu cliques droit dans la colonne de droite... Cherche bien.

RichEdit1.Paragraph.Alignment := taRightJustify;
aligne le texte à droite, mais ne le justifie pas. Effectivement, le nom est trompeur, mais Right se remarque quand même...

Par contre, je pense que la limitation est impossible :sad)

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)

Merci ni69 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de ni69
Meilleure réponse
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
- 11 déc. 2004 à 12:02
3
Merci
En réponse à "comment savoir, là ou tu cliques (n'importe où dans le RichEdit), s'il y a une puce ou pas, pas une méthode SIMPLE ?!" :
if RichEdit1.Paragraph.Numbering =  nsBullet then
begin
  // code...
end;


et pour " comment savoir si le texte est déjà en gras... et comment faire pour enlever SIMPLEMENT ? " :
with RichEdit1.SelAttributes do
  if fsBold in Style then
  begin
    Style : = Style - [fsBold];
  end;

(La propriété Style est du type ensemble)

RightJustify n'est pas "trompeur". Il s'agit bien d'une justification à droite. Ce que souhaite zygorr, c'est une justification à droite ET à gauche. Pour obtenir une telle fonctionnalité, il faudra s'orienter vers un composant comme TRichView. Hélas, ce n'est pas un composant gratuit. Mais si les avantages qu'il procure répondent pleinement à tes souhaits, il n'est pas cher (je veux dire pour un usage professionnel :) ).

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you

Merci cs_Delphiprog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Delphiprog
Meilleure réponse
Messages postés
5
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
13 décembre 2004
- 13 déc. 2004 à 14:22
3
Merci
Alors j'ai essayé sur un autre poste, et là surprise, il m'édite la lettre entièrement. Je ne vois pas pourquoi, mais le principal c'est que ca marche chez le client.
Pour la hauteur du texte, à prioris c'est pas possible.

Le problème est donc résolu.

Merci beaucoup pour votre aide.

Chao ;)

Merci zygorr 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de zygorr
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 10 déc. 2004 à 10:03
0
Merci
Pour justifier, voir
ICI

Pour le texte incomplet, je ne sais pas....

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Commenter la réponse de ni69
Messages postés
5
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
13 décembre 2004
- 10 déc. 2004 à 14:11
0
Merci
Hi ni69, et merci de t'intérresser à mon prb.

Le hic, c'est que le composant TJustifyRichEdit ne justifie pas des 2 cotés en même temps. Et il ne justifie pas non plus quand le texte est chargé. Bref, une utilisation un peu restrainte.

Et 2 autres questions pour le RichEdit, 2 :
- comment ajouter une puce en début de ligne?
- comment limiter la zone de saisie au format A4 par ex. Pour la droite, on peut utiliser la largeur du RichEdit et mettre WordWrap à True, mais pour la hauteur, il n'y a pas de limite.

Je vous assure que ce n'est pas de la mauvaise volonté, j'ai vraiment cherché avant de demander.En fait ce composant est un peu basique, on ne peut pas en faire grand chose, dommage.

Merci à vous...
Commenter la réponse de zygorr
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 10 déc. 2004 à 14:31
0
Merci
Pour faciliter la gestion des RichEdit, il est utile d'avoir une ActionList dans ton application.

Je m'explique :
Pose un compo ActionList (dans l'onglet 'Standard') sur ta form.
Ensuite, Edite les actions de l'ActionList en double-cliquant dessus
Dans la colonne Actions, fais un clic droit, sélectionne 'Nouvelle action Standard', et là tu trouves un choix d'actions relatives à ton application. Sélectionne 'TRichEditBullets' dans 'Format'. Fais OK pour l'ajouter.

Ensuite, dans la propriété 'Action' d'un TButton, mets 'RichEditBullets1' (le nom de l'action définie juste avant).
A partir de maintenant, dès que tu cliqueras sur le bouton, une puce s'insèrera dans le RichEdit.

Par contre, je ne vois pas comment limiter la hauteur.... la seule chose que l'on puisse limiter, c'est le nombre de caractères, mais cela n'a pas de grande utilité ici....

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Commenter la réponse de ni69
Messages postés
5
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
13 décembre 2004
- 10 déc. 2004 à 17:01
0
Merci
Hi!

J'ai essayé ta teknik, mais je n'ai pas 'Format' dans les actions standards. Mais j'ai trouvé autre chose, c'est simple:
- les puces :
RichEdit1.Paragraph.Numbering := TNumberingStyle(True);

- l'alignement :
RichEdit1.Paragraph.Alignment := taRightJustify;

(mais il n'y a pas de justification :-( )
- le gras :
RichEdit1.SelAttributes.Style := RichEdit1.SelAttributes.Style + [fsBold];


Mais le problème de la limitation en hauteur est tjrs posé, ainsi que le QrRichText qui ne s'édite pas en entier !!

Merci !! :)
Commenter la réponse de zygorr
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 11 déc. 2004 à 13:18
0
Merci
Je suis entièrement d'accord avec toi DelphiProg, mais les ActionList restent plus pratiques, il n'y a en effet pas de code à taper... :)

@+
Bonne Prog'
Nico
Commenter la réponse de ni69
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
- 11 déc. 2004 à 13:27
0
Merci
D'accord avec toi Ni69, mais les TActionList dont tu parles plus haut (TRichEdit*) ne sont apparues qu'avec Delphi 6 et zygorr ne nous a pas précisé quelle version de Delphi il utilisait.

May Delphi be with you
Commenter la réponse de cs_Delphiprog
Messages postés
5
Date d'inscription
vendredi 25 juin 2004
Dernière intervention
13 décembre 2004
- 13 déc. 2004 à 09:59
0
Merci
Bonjour à tous,

C'est vrai, j'ai oublié de préciser que je suis sous D4. La liste des actions est limitée aux catégories Dataset, Edition et Fenêtre. J'ai donc utilisé la méthode de Delphiprog.

Est-ce qu'il existe un composant semblable au QrRichText?
Je voudrai le remplacer, pcq mon plus gros problème reste quand même celui-ci. Je voudrai éditer des lettres, mais s'il manque une partie du texte, c pas trop la peine de continuer.
A prioris, c'est un prb du composant pcq quand j'inspecte la valeur QrRichText1.Lines.Text, le texte est entier. Je ne pense pas être le premier à renconter ce prb.
Hellllllp!

Bonne journée, codez bien !!
Commenter la réponse de zygorr
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 13 déc. 2004 à 15:29
0
Merci
Effectivement Delphiprog, je n'avais pas pensé à ceci. Moi qui n'ai eu que delphi6 depuis le début, je ne pouvais pas le prévoir...
Merci de ces précisions :)

@+
Bonne Prog'
Nico
Commenter la réponse de ni69
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
- 14 déc. 2004 à 22:33
0
Merci
zygorr : pourrais-tu regarder les versions des DLL Riched*.dll sur ton poste et sur le poste du client et nous dire quoi ?
Cela nous aiderait à comprendre les raisons de ces différences de fonctionnement.
May Delphi be with you
Commenter la réponse de cs_Delphiprog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.