Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Richedittext nach Richedit ? (https://www.delphipraxis.net/65020-richedittext-nach-richedit.html)

DieFliege 23. Sep 2015 18:44

AW: Richedittext nach Richedit ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich habe mir diesen Threat raus gesucht, weil ich genau wie von "Brüggendiek" beschrieben zwei RichEdit mit Formatierungen in einem dritten zusammen fügen möchte.

Ich habe mich daher an dem Quelltext von "Brüggendiek" orientiert, jedoch bekomme ich ein unerwünschtes Ergebnis. Könnte es sein, dass ich etwas übersehen habe? Alle drei RichEdit haben bei "PlainText" die Einstellung auf "false". Stelle ich diese auf "true" werden beide Texte ohne Formatierung übernommen.

Irgendwie kann ich mir keinen Reim auf die Ausgabe machen, wenn ich diese wie von "Brüggendiek" beschrieben zusammen füge. Was habe ich übersehen?

Ich habe Euch hier einmal meinen kompletten Quelltext gepostet:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Button1: TButton;
    RichEdit2: TRichEdit;
    RichEdit3: TRichEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
  stream: TStringStream;

begin
  richedit3.SelStart := 0;
  richedit3.SelLength := 0;

  stream := TStringStream.Create ('');
  try
    richedit2.Lines.SaveToStream (stream);
    richedit3.SelText := stream.DataString;
  finally
    stream.Free;
  end;

  richedit3.SelStart := 0;
  richedit3.SelLength := 0;

  stream := TStringStream.Create ('');
  try
    richedit1.Lines.SaveToStream (stream);
    richedit3.SelText := stream.DataString;
  finally
    stream.Free;
  end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  RichEdit1.Clear;
  RichEdit2.Clear;
  RichEdit3.Clear;

  RichEdit1.SelAttributes.Style := [fsBold];
  RichEdit1.SelText := 'BOLD';
  RichEdit1.SelAttributes.Style := [];

  RichEdit2.SelAttributes.Style := [fsItalic];
  RichEdit2.SelText := 'ITALIC';
  RichEdit2.SelAttributes.Style := [];

end;

end.

Wenn ich das "Programm" so ausführe, bekomme ich im RichEdit3 dieses Ergebnis:
Anhang 43930

Was habe ich übersehen?

LG Micha (aka DieFliege)



Nachtrag:
Ich habe natürlich weiter nach einer Lösung gesucht und dabei rausgefunden, dass es wohl an der "riched32.dll" von Windows liegt. Daher habe ich mich mit der Lösung von Marabu beschäftigt und es damit hin bekommen - Vielen Dank an dieser Stelle an Dich, Marabu.
LG Micha (aka DieFliege)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr.
Seite 5 von 5   « Erste     345   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz