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 --> vordefinierter Text (https://www.delphipraxis.net/100125-richedit-vordefinierter-text.html)

Störtebeker 22. Sep 2007 18:42


RichEdit --> vordefinierter Text
 
Hi, ihr Delphianer:

Bin gerade dabei meinem Programm einen "Hilfe-Dialog" zu verabreichen.

Zur Verwendung kommen:
- Form
- Treeview
- Panel
- RichEdit
- Close-Button

Zu meinem Problem: Beim RichEdit gibt es ja im OI die Option "Lines". Dort gebe ich den Text ein und setzte dann die Option "ReadOnly" auf True. Wie kann ich den vordefinierten Text formatieren?

- Also: Fett, Größe, etc.

Ich habe ne ScrollCredit Komponente auch mit der "Lines"-Funktion im OI. Und da geht es wenn ich
- z.B. [b]<s24>TEST eingebe, um den Text auf Fett und auf Schriftgröße 24 zu setzen. Das funzt aber weder bei Memo noch RichEdit. Das Problem bei der ScrollCredit Komponente ist, dass der Text nur Zentriert geht.

Also, wie kann ich den vordefinierten Text für RichEdit formatiern?

Hoffe auf eure Hilfe.

mfG
Störtebeker

Christian Seehase 22. Sep 2007 18:44

Re: RichEdit --> vordefinierter Text
 
Moin Störtebeker,

das kannst Du zur Laufzeit machen, z.B., im OnCreate des Formulares.
Schau Dir dazu mal SelStart, SelLength, SelAttributes an.

Progman 22. Sep 2007 18:55

Re: RichEdit --> vordefinierter Text
 
Warum schreibst du den Text nicht in nem Office-Programm oder Wordpad?
Dann kannst du ihn nach Belieben formatieren und dann über RichEdit.Lines.LoadFromFile() reinladen.

Störtebeker 22. Sep 2007 19:07

Re: RichEdit --> vordefinierter Text
 
Mir ist gerade eingefallen, dass das mit dem RichEdit ziemlich kompliziert wird. Weil das sind eine ganze Menge Treeview-Einträge. Einfacher wäre es doch, auf Klick einfach ne Textdatei in das RichEdit zu laden, oder?

Leider fällt mir dazu nichts ein. Habe schon in den Delphi Demos geguckt. Aber da gibts nicht zu Treeview. In der Delphi-Hilfe habe ich auch geschaut zu Sachen Treeview.

Also ich möchte auf Klick auf einen der Einträge eine Textdatei ins RichEdit laden. Nur zu einem komme ich irgendwie nicht an die einzelnen Einträge und zweitens, habe ich Datein bis her immer mit dem OpenDialog geöffnet.

Also ich habe z.B. den Haupteintrag:

+ Hilfe

und dann

- Hilfe
- Datei
- Bearbeiten
.
.
.

Aber mir werden die Unteritems im Design-Modus nicht angezeigt.
Nur im Ausführmodus oder im Itemeditor des Treeview, wo ich aber keine Aktionen zuweisen kann.
Wat nun?

HELP!!

mfG
Störtebeker


EDIT: Das mit dem Text einladen wurde mir gerade von Progman geschrieben. Bleibt noch das herankommen an die einzelnen Treeview einträge.

Störtebeker 22. Sep 2007 20:32

Re: RichEdit --> vordefinierter Text
 
Hbe jetzt folgendes gefunen:

Für das OnChange Ereignis des Treeview:

Delphi-Quellcode:
begin
  if not Assigned(Node) then
    exit;
  if Node.Caption = 'TEXT1' then
  begin
    RichEdit1.Lines.LoadFromFile('TEXT1.txt');
  end
  else if Node.Caption = 'TEXT2' then
  begin
    RichEdit1.Lines.LoadFromFile('TEXT2.txt');
  end;
end;
doch was nun?

Caption ist irgendwie undeklariert, sagt Delphi.

mfG
Störtebeker

mkinzler 22. Sep 2007 20:42

Re: RichEdit --> vordefinierter Text
 
Was für ein Typ hat deine variable Node?

Störtebeker 22. Sep 2007 20:46

Re: RichEdit --> vordefinierter Text
 
:wiejetzt:

Was für ein Typ meinst du denn? Ich bin ehrlich ich habe den Code zufällig bei einer Suche durchs Forum gefunden und kopiert, und nach meinen Treeviewangaben geändert. Leider stand nichts weiter da.

mkinzler 22. Sep 2007 20:49

Re: RichEdit --> vordefinierter Text
 
Du musst die Variable aber irgendwo deklariert haben

Störtebeker 22. Sep 2007 20:55

Re: RichEdit --> vordefinierter Text
 
Ich glaube nicht.
Der gepostete Code ist der einzige, wo ich gerade "NODE" zu stehen habe.

Progman 22. Sep 2007 20:57

Re: RichEdit --> vordefinierter Text
 
Node sollte vom Typ TTreeNode sein und müsste vorher deklariert werden.

Störtebeker 22. Sep 2007 21:00

Re: RichEdit --> vordefinierter Text
 
procedure TForm4.TreeView1Change(Sender: TObject; Node: TTreeNode);
so sieht die Prozedur aus, in der das ganze steht.

Setzte ich

Delphi-Quellcode:
var Node: ...; dazu
sagt Delphi: identifier redeclared.

Delphi-Quellcode:
unit help;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ComCtrls, StdCtrls, ExtCtrls, Credits;

type
  TForm4 = class(TForm)
    TreeView1: TTreeView;
    SpeedButton1: TSpeedButton;
    Panel1: TPanel;
    SpeedButton3: TSpeedButton;
    SpeedButton2: TSpeedButton;
    RichEdit1: TRichEdit;
    procedure Button1Click(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm4.TreeView1Change(Sender: TObject; Node: TTreeNode);
 begin
  if not Assigned(Node) then
    exit;
  if Node.Caption = 'TEXT1' then
  begin
    RichEdit1.Lines.LoadFromFile('TEXT1.txt');
  end
  else if Node.Caption = 'TEXT2' then
  begin
    RichEdit1.Lines.LoadFromFile('TEXT2.txt');
  end;
 end;
end;

end.
ist der gesamte Code der Form

mkinzler 22. Sep 2007 21:07

Re: RichEdit --> vordefinierter Text
 
Bei Node handelt es sich um einen Parameter, der im Kopf der Methode deklariert wurde.
Ersetzte mal .Caption mit .Text

Störtebeker 22. Sep 2007 21:17

Re: RichEdit --> vordefinierter Text
 
Und schon geht´s. :lol:

THX.


mfG
Störtebeker


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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-2025 by Thomas Breitkreuz