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 Geerbte Eigenschaften im OT verbergergen (https://www.delphipraxis.net/17900-geerbte-eigenschaften-im-ot-verbergergen.html)

Kinimod8 11. Mär 2004 08:35


Geerbte Eigenschaften im OT verbergergen
 
Hi,

ich habe eine von TProgressBar abgeleitete Komponente geschrieben, die die Eigenschaften Min, Max und Progress nicht benötigt. Gibt es eine Möglichkeit diese überflüssigen Eigenschaften im Objektinspektor nicht anzuzeigen?

sakura 11. Mär 2004 08:37

Re: Geerbte Eigenschaften im OT verbergergen
 
Du musst diese einfach in der abgeleiteten Komponente unter public neu deklarieren - erhälst allerdings eine Compilerwarnung.

Delphi-Quellcode:
type
  TMyFoo = class(Foo)
    ...
  public
    property Tag;
    ...
  published
    property ABetterTag.....
Oder Du leitest gleich von TCustomFoo ab ;)

...:cat:...

Kinimod8 11. Mär 2004 09:39

Re: Geerbte Eigenschaften im OT verbergergen
 
Funktioniert leider nicht. Die Eigenschaften werden weiterhin angezeigt und es erscheint keine Compiler-Warnung :gruebel:

Außerdem gibt es TCustomProgressBar nicht :x

shmia 11. Mär 2004 10:08

Re: Geerbte Eigenschaften im OT verbergergen
 
Zitat:

Zitat von Kinimod8
ich habe eine von TProgressBar abgeleitete Komponente geschrieben, die die Eigenschaften Min, Max und Progress nicht benötigt.
Gibt es eine Möglichkeit diese überflüssigen Eigenschaften im Objektinspektor nicht anzuzeigen?

Nein !
Eigenschaften, die einmal als Public oder Published deklariert wurden,
können in abgeleiteten Klassen nicht mehr zu Protected oder Private zurückgestuft
werden.
In vielen Fällen gibt es einen TCustom****** Vorgänger, damit man
steuern kann, welche Eigenschaften public/published werden.

Bei TProgressBar gibt es diesen Vorgänger allerdings nicht (bei D5).

Notfalls könntest du von einem Panel ableiteten und den ProgressBar
dynamisch auf dem Panel erzeugen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 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