khokho
-
Modifié le 6 mai 2018 à 14:53
francky230123012301
Messages postés7Date d'inscriptionjeudi 10 mai 2018StatutMembreDernière intervention17 mai 2018
-
13 mai 2018 à 23:52
Bonjour, les amis j ai un probleme dans ce fraguement de code:
procedure MAKEBOLD(ARichEdit: TRichEdit; ARow: Integer; Afsstyle: TfontStyles);
begin
with ARichEdit do
begin
SelStart := SendMessage(Handle, EM_LINEINDEX, ARow - 1, 0);
SelLength := Length(Lines[ARow - 1]);
SelAttributes.Style := Afsstyle;
SelLength := 0;
end;
end;
// la procedure me sert a ecrire la derniere ligne de mon rich edit en gras
la procedure fonctionne bien mais a l execution quand j essai de changer la police du richedit avec la procedure suivante;
procedure TForm1.Button3Click(Sender: TObject);
begin
if fontdialog1.Execute then
richedit1.Font:=fontdialog1.Font;
end;
ne fonctionne plus une fois la procedure MAKEBOLD est executé .
quelqu un a une idee??
korgis
Messages postés420Date d'inscriptionsamedi 17 mai 2003StatutMembreDernière intervention 6 mai 201917 5 mai 2018 à 15:35
Salut,
Il faut tout sélectionner dans le RichEdit, et bien sûr ne pas utiliser l'attribut de style afin de ne pas modifier la ligne précédemment mise en "bold" :
procedure TForm1.Button3Click(Sender: TObject);
begin
if FontDialog1.Execute then
begin
with RichEdit1 do
begin
SelectAll;
SelAttributes.Name := FontDialog1.Font.Name;
SelAttributes.Size := FontDialog1.Font.Size;
end
end;
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 Modifié le 6 mai 2018 à 15:27
Bonjour à tous
et salut Korgis ;)
en ce qui concerne le petit problème de :khokho
je te propose cette solution toute simple ^^
procedure TForm1.Button3Click(Sender: TObject);
begin
if FontDialog1.Execute then
with RichEdit1 do begin
SelectAll;
SelAttributes.Name := fontdialog1.Font.Name;
SelLength := 0;
end;
end;
<EDIT>:
if FontDialog1.Execute then
with RichEdit1 do begin
SelectAll;
SelAttributes.Assign(fontdialog1.Font);
MakeBold(RichEdit1, Lines.Count, [fsBold]);
SelLength := 0;
end;
cette version donne de meilleurs résultats mais oblige à réutiliser la procédure MakeBold
</EDIT>
et comme par miracle tout fonctionne comme prévu :)
pare contre j'ai pas approfondi ... j'ai donc aucune explication au phénomène !! :O
Bon Dimanche,
Cordialement,
korgis
Messages postés420Date d'inscriptionsamedi 17 mai 2003StatutMembreDernière intervention 6 mai 201917 6 mai 2018 à 15:34
Salut Cirec,
avec ta méthode, la taille de la police n'est pas prise en compte.
Mais je m'aperçois qu'avec la mienne, la couleur ne l'est pas, alors...
Il eut fallu rajouter chez moi :
SelAttributes.Color := FontDialog1.Font.Color;
Et tout rentre dans l'ordre.
L'homme a ses secrets, la femme a ses mystères... et le RichEdit sa complexité ^^
Bonne fin de dimanche !
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 Modifié le 6 mai 2018 à 15:41
re,
tu n'as pas du voir que j'ai modifié, ajouté un code qui lui tient compte de tout ;)
je te le reposte ici ^^
if FontDialog1.Execute then
with RichEdit1 do begin
SelectAll;
SelAttributes.Assign(fontdialog1.Font);
MakeBold(RichEdit1, Lines.Count, [fsBold]);
SelLength := 0;
end;
voilà celui-ci fait la totale ;)
francky230123012301
Messages postés7Date d'inscriptionjeudi 10 mai 2018StatutMembreDernière intervention17 mai 20182 10 mai 2018 à 23:39
C'est pas Korgis c'est Japee (Vieille canaille) :D
Et comme on disait vive les tartes o concombre :D
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 11 mai 2018 à 15:18
C'est pas vrai !!!!
t'as enfin retrouvé ton MP ^^
ça fait plaisir en tous cas ;)
Cordialement,
@+
korgis
Messages postés420Date d'inscriptionsamedi 17 mai 2003StatutMembreDernière intervention 6 mai 201917 11 mai 2018 à 15:27
"t'as enfin retrouvé ton MP ^^"
En tout cas c'est sûr, la tarte aux concombres c'est pas bon pour les neurones :-p
Vieille canaille de Francky ! ^^