Delphi-PRAXiS

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 RichEdit (https://www.delphipraxis.net/15853-richedit.html)

Jelly 5. Feb 2004 14:06


RichEdit
 
Hallo,

hab ne kleine Frage zur RichEdit komponten. wie ich formatierten Code reinkrieg zu Laufzeit ist mir klar, z.B. in Word in diw Zwischenablage kopieren und im Memo wieder einfügen... Aber wie krieg ich das in der Entwicklungsumgebung hin... Zum Hintergrund: Ich will eine Liste der verwendeten Freeware Komponenten in einem Dialog anzeigen. Und damits nach was aussieht, halt eben in einem RichEdit formatiert. Ich will auf jeden Fall vermeiden, daß der Inhalt aus einer Datei geladen wird. Der soll schon zur Entwicklung fest drin stehen...

Jemand ne Idee, oder seh ich vor lauter Bäumen den Wald nicht mehr?

Gruß,
Tom

Luckie 5. Feb 2004 14:22

Re: RichEdit
 
SelStart, SelLength, SelAttributs. Damit kannst du Text im RichEdit formatieren. Ansonsten vberstehe ich nicht so recht, was du eigeentlich willst.

Cuchulainn 5. Feb 2004 14:26

Re: RichEdit
 
Die Eigenschaft "Lines" im Objektinspektor sieht so aus:

Lines | (TStrings) ...

Wenn du auf die drei Punkte klickst, kannst du einen Text eingeben. Hast du das gemeint? Dort kannst du den Text während der Entwicklungszeit bestimmen.

Jelly 5. Feb 2004 15:04

Re: RichEdit
 
Hallo,

hab mich wohl falsch ausgedrückt... Klar, die Eigenschaft lines kenn ich, und wie ich mit SelStart und co. umgeh weiss ich auch so weit. Ich will aber lediglich ein Formular öffnen, wo im RichEdit bereits ein vordefinierter Text drinne steht. Mit der Eigenschaft Lines krieg ich zwar den Text rein, aber keine formatierungen... Ich hoff ich hab mich jetzt etwas klarer ausgedrückt.

Gruß,
Tom

Cuchulainn 5. Feb 2004 15:08

Re: RichEdit
 
Okay, jetzt habe ich es verstanden.
Es ist vielleicht etwas mühsam, aber möglicherweise könntest du das im OnCreate-Ereignis des Formulars erledigen. Die Idee ist wohl etwas bescheuert, aber eine andere Möglichkeit fällt mir nicht ein :gruebel:

RomanK 5. Feb 2004 15:10

Re: RichEdit
 
Hoi Tom,
möchtest du deinen Text verschachteln, also nach rechts rücken? Dann füge doch einfach Leerzeichen ein.
Oder willst du deinen Text durch Bold&Kursiv usw. "formatieren"?

Jelly 5. Feb 2004 15:11

Re: RichEdit
 
Zitat:

Zitat von Cuchulainn
...aber möglicherweise könntest du das im OnCreate-Ereignis des Formulars erledigen.

OK, und weiter? Ich krieg einfach keine Formatierungen rein.

Gruß,
tom

Jelly 5. Feb 2004 15:17

Re: RichEdit
 
Liste der Anhänge anzeigen (Anzahl: 1)
OK, nochmals.

Im Anhang mal ein Bildchen wie ichs gerne hätte. Das ging wunderbar indem ich in Word den Text erstellte, in die Zwischenablage kopierte und dann in meiner Anwendug wieder einfügte. Das geht aber halt nur während der Laufzeit des Programms, jedoch nicht in der Entwicklungsumgebung. Im OI steht mir zum Einfügen von Text nur die Eigenschaft Lines zur Verfügung, wo ich aber keine Formatierungen hinrkieg.

Gruß,
Tom

RomanK 5. Feb 2004 15:22

Re: RichEdit
 
Hoi,
genau das hat doch Luckie gepostet.
Dazu brauchst du:
SelStart, SelLength, SelAttributs. => OH.

Matze 5. Feb 2004 15:24

Re: RichEdit
 
Nein, er meint, wie man im OI den Text mit Formatierung hinbekommt. ;)

RomanK 5. Feb 2004 15:26

Re: RichEdit
 
Zitat:

Zitat von Jelly
wie ich formatierten Code reinkrieg zu Laufzeit ist mir klar

:nerd: Wer lesen kann ist klar im Vorteil :wall: :freak:

Cuchulainn 5. Feb 2004 15:30

Re: RichEdit
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von Cuchulainn
...aber möglicherweise könntest du das im OnCreate-Ereignis des Formulars erledigen.

OK, und weiter? Ich krieg einfach keine Formatierungen rein.

Gruß,
tom

Im OnCreate kannst du ja dann mit SelStart, SelLength, SelAttributs arbeiten.

Matze 5. Feb 2004 17:38

Re: RichEdit
 
Das Problem ist nur, wie soll man aus der Zwischenablage etc. die Formatierung auslesen.

Jelly 5. Feb 2004 18:27

Re: RichEdit
 
Zitat:

Zitat von Matze
Das Problem ist nur, wie soll man aus der Zwischenablage etc. die Formatierung auslesen.

Du hast es genau erfasst...
Aber ich such mal nach einer alternativen Richedit Lösung... Gibts doch bestimmt irgendwo bei DSP o.ä.

Danke für alle Antworten,
Gruß,
Tom

Bobator 5. Feb 2004 18:51

Re: RichEdit
 
speicher doch den text in formatierter-form als ressource und lade ihn dann mit LoadFromStream.

Jelly 5. Feb 2004 22:09

Re: RichEdit
 
Zitat:

Zitat von Bobator
speicher doch den text in formatierter-form als ressource und lade ihn dann mit LoadFromStream.

Das wäre für ne Lösung. Hast du auch ein Beispiel wie?

Gruß,
Tom

gothic_mike 5. Feb 2004 22:28

Re: RichEdit
 
Moin,

Zitat:

Zitat von Jelly
Zitat:

Zitat von Bobator
speicher doch den text in formatierter-form als ressource und lade ihn dann mit LoadFromStream.

Das wäre für ne Lösung. Hast du auch ein Beispiel wie?

Gruß,
Tom

ich hatte vor kurzem das gleiche problem, habs so gelöst:

- erstellen der irgendwas.rtf - Datei mit word o.ä.

- irgendwas.rc mit folgendem inhalt erstellen:
IRGENDWAS RCDATA "irgendwas.rtf"

- die rc mit brcc32.exe compilieren
"brcc32.exe irgendwas.rc"

- dann im sourcecode folgendes einfügen:

Delphi-Quellcode:
...
implementation

{$R *.dfm} 
{$R irgendwas.res} // <-- die von bcc32.exe erzeugte datei

procedure TForm1.Button1Click(Sender: TObject);
var
  res: TResourceStream;
begin
  res := TResourceStream.Create(hinstance, 'IRGENDWAS', RT_RCDATA);
  try
    Richedit1.PlainText := False;
    res.Position := 0;
    Richedit1.Lines.LoadFromStream(res);
  finally
    res.Free;
  end;
end;
...

Jelly 6. Feb 2004 13:10

Re: RichEdit
 
Danke gothic_mike :corky: ,

deine Lösung klappt einwandfrei... :hello:

Gruß,
Tom


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr.

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