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 Standardbeschriftung von abgeleiteten Komponenten ändern (https://www.delphipraxis.net/122460-standardbeschriftung-von-abgeleiteten-komponenten-aendern.html)

Ares 16. Okt 2008 14:24


Standardbeschriftung von abgeleiteten Komponenten ändern
 
Hallo!

Ich erstelle mir gerade von einigen Standardkomponenten eigene Varianten die an meine Anforderungen angepasst sind (z.B. von TPanel und TEdit). Ich leite also eine Klasse von diesen Komponenten ab und rufe im Constructor zuerst inherited auf um die Standardeinstellungen zu setzten. Dann stelle ich meine eigenen Einstellungen ein:

Delphi-Quellcode:
constructor ...
begin
  inherited;
  width := 500;
  text := '';
end;
Alle angepassten Einstellungen werden prima übernommen, aber nicht die Beschriftung der Komponenten. Wenn ich ein normales Edit auf ein Forumlar setzte bekommt dieses ja den Namen Edit1 und wird auch so beschriftet. Die Beschriftung will ich eigentlich mit Text := '' löschen, aber das funktioniert nicht. Die Beschriftung wird trotzdem angezeigt. Das gleiche beim Panel obwohl ich dort Caption := '' setze...

Kann mir jemand Sagen, was ich tun muss um die Standardbeschriftung zu löschen?

Besten Dank
Ares

DeddyH 16. Okt 2008 14:38

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Versuch es mal mit
Delphi-Quellcode:
ControlStyle := ControlStyle - [csSetCaption];

s.h.a.r.k 16. Okt 2008 14:39

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
hm, das ist eine gute frage. ich denke mal, dass die methode clear(); auch nicht helfen wird?!

[edit]
Zitat:

Zitat von DeddyH
Versuch es mal mit
Delphi-Quellcode:
ControlStyle := ControlStyle - [csSetCaption];

ich rate mal, dass dann die methode die caption gar nicht setzt, oder? aber was ist, wenn er nicht nur einen leeren text setzen will? wird dann trotzdem das was er im konstruktur setzt übernommen?!
[/edit]

DeddyH 16. Okt 2008 14:41

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Das muss man halt mal ausprobieren.

nahpets 16. Okt 2008 14:44

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
schaut doch mal hier (ziemlich weit unten)

DeddyH 16. Okt 2008 14:46

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Siehste ;)

s.h.a.r.k 16. Okt 2008 14:51

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Zitat:

csSetcaption sorgt dafür, dass die Caption verschwindet.
ich sehe hierbei nichts, da dies aussage nicht klar definiert, was da nun genau passiert. aber wenn ich es mal brauchen sollte - wovon ich nicht ausgehe - dann werde ich das mal testen. hätte ja nur eine interessante information sein können.

DeddyH 16. Okt 2008 14:53

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Wenn Du eine Komponente zur Designtime aufs Formular packst, dann bestimmt csSetCaption, ob sie als Beschriftung initial ihren Namen erhält oder nicht. Das ist alles.

Ares 16. Okt 2008 14:55

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Zitat:

Zitat von DeddyH
Versuch es mal mit
Delphi-Quellcode:
ControlStyle := ControlStyle - [csSetCaption];

Danke, das klappt prächtig!

bernau 16. Okt 2008 15:19

Re: Standardbeschriftung von abgeleiteten Komponenten ändern
 
Eine Komponente ableiten, nur damit ein paar Properties vorbelegt werden halte ich nicht für gut.

Ich hatte so etwas mal in einem anderen Tread angefragt. Dort wurde mir von Gexperts das "Rename Components Tool" empfohlen. Ist ne gute Sache. Schau dir mal den Thread an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.

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