Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Erstellen einer TRichEdit Komponente (https://www.delphipraxis.net/137774-erstellen-einer-trichedit-komponente.html)

HolgerCW 28. Jul 2009 15:06


Erstellen einer TRichEdit Komponente
 
Hallo zusammen,

wie erstelle ich im Code eine TRichEdit-Komponente.

Was muss als Parameter bei:

Delphi-Quellcode:
var
 MeinRE_Text: TRichEdit;
begin
 MeinRE_Text := TRichEdit.Create(???);
end;
rein ?

Brauche die Komponente nur um Sie an eine Funktion zu übergeben.

Gruss

Holger

DeddyH 28. Jul 2009 15:14

Re: Erstellen einer TRichEdit Komponente
 
Das Control, das als Owner für die Freigabe des RichEdit zuständig sein soll (kann auch nil sein, aber dann musst Du händisch freigeben).

HolgerCW 28. Jul 2009 15:15

Re: Erstellen einer TRichEdit Komponente
 
Zitat:

Zitat von DeddyH
(kann auch nil sein, aber dann musst Du händisch freigeben).

Vielen dank. Wie gebe ich denn händisch frei ?

DeddyH 28. Jul 2009 15:18

Re: Erstellen einer TRichEdit Komponente
 
Mit Free bzw. FreeAndNil.
Delphi-Quellcode:
RE := TRichEdit.Create(nil);
try
  //Mach was mit dem RichEdit
finally
  RE.Free;
  //oder FreeAndNil(RE);
end;

HolgerCW 28. Jul 2009 15:24

Re: Erstellen einer TRichEdit Komponente
 
Du meinst zum Schluss händisch frei geben ?

Wenn ich nämlich folgendes tue:

Delphi-Quellcode:

MeinRE_Text := TRichEdit.Create(nil);
MeinRE_Text.Lines.Insert(0,'Test');
kommt die Meldung: "hat kein übergeordnetes Fenster"

Gruss

Holger

DeddyH 28. Jul 2009 15:39

Re: Erstellen einer TRichEdit Komponente
 
Delphi-Quellcode:
MeinRE_Text := TRichEdit.Create(nil);
MeinRE_Text.Parent := self; //Parent setzen
MeinRE_Text.Lines.Insert(0,'Test');

Lannes 28. Jul 2009 15:48

Re: Erstellen einer TRichEdit Komponente
 
Hallo,
Zitat:

Zitat von HolgerCW
Brauche die Komponente nur um Sie an eine Funktion zu übergeben.

wenn ich mal fragen darf, was macht die Funktion mit dem übergebenem RichEdit?

DeddyH 28. Jul 2009 15:49

Re: Erstellen einer TRichEdit Komponente
 
Ich kann nur vermuten, dass es um RTF geht.

Lannes 28. Jul 2009 16:01

Re: Erstellen einer TRichEdit Komponente
 
Hallo,

hätte ich jetzt nicht gedacht :mrgreen:

Wenn nur die internen Funktionalitäten des RichEdit genutzt werden sollen würde ich eine unsichtbares(virtuelles) RichEdit nutzen.

Delphi-Quellcode:
// war mal in einem Thread ein Vorschlag von marabu
FVirtualRE := TRichEdit.CreateParented(THandle(-3));
damit kann man alles veranstalten, z.B.auch per SelAttributes RTF-Code verändern, RTF drucken etc.

DeddyH 28. Jul 2009 16:08

Re: Erstellen einer TRichEdit Komponente
 
Das ist natürlich die elegantere Methode, aber ich wollte zumindest die Ausgangsfrage beantworten :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Seite 1 von 2  1 2      

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