Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Attribute entfernen (https://www.delphipraxis.net/132638-geerbte-attribute-entfernen.html)

blablab 16. Apr 2009 16:11


Geerbte Attribute entfernen
 
Hallo!

Ich hab eine kleine Anfängerfrage zum Entwickeln von Komponenten:
Ich erbe von TTreeView. Im Objektinspektor habe ich dann automatisch Attribute wie Align, Anchors usw. wie kann ich diese Attribute wieder entfernen (für den Benutzer unsichtbar machen)? Ùnd wie kann ich solche Attribute wie zb Items readOnly machen?

Grüße
blablab

mschaefer 16. Apr 2009 16:15

Re: Geerbte Attribute entfernen
 
Delphi-Quellcode:
type MyTreeView = class(TTreeView)
private
     propterty Align;
published
    . . .
Setzte Sie einfach in den Private-Abschnitt der Klassendeklaration.

Grüße // Martin

Dax 16. Apr 2009 16:16

Re: Geerbte Attribute entfernen
 
Entfernen geht nicht, statisch readonly machen auch nicht. Du könntest höchstens den Setter überschreiben (wenn der virtual ist) und dort eine Exception werfen.

Zitat:

Zitat von mschaefer
Delphi-Quellcode:
type MyTreeView = class(TTreeView)
private
     propterty Align;
published
    . . .
Setzte Sie einfach in den Private-Abschnitt der Klassendeklaration.

Das geht nicht. Man kann eine Property nicht weniger sichtbar machen, ist auch blöd. Einfach auf die Basisklasse casten und schon ist sie wieder da ;)

Bernhard Geyer 16. Apr 2009 16:17

Re: Geerbte Attribute entfernen
 
Du mußt von der Basisklasse TCustomTreeView ableiten. Dort sind die Properties noch nicht veröffentlich.
Einmal Published/Public-Properties lassen sich nicht mehr *sicher* verstecken.

blablab 16. Apr 2009 16:24

Re: Geerbte Attribute entfernen
 
Ah, ok, ich glaub ich habs verstanden. Das bedeutet entweder ich akzeptiers dass es die Attribute gibt oder ich muss halt früher ableiten. Und einfach die property als private deklarieren sollte man dann eigentlich nicht machen, oder?

fkerber 16. Apr 2009 16:26

Re: Geerbte Attribute entfernen
 
Hi!

Ich bin mir nicht ganz sicher, aber zumindest eine Warnung sollte Delphi ausspucken.

Aber vor allem bringt es wie gesagt nix - ich caste dann zur Basisklasse und habs dann doch in der Hand...



Ciao, Frederic

himitsu 16. Apr 2009 16:36

Re: Geerbte Attribute entfernen
 
Zitat:

Zitat von Bernhard Geyer
Einmal Published/Public-Properties lassen sich nicht mehr *sicher* verstecken.

jupp, Sichtbarkeiten lassen sich "nur" erhöhen und nicht wieder verringern.

[edit] erhöhen und verringern getauscht

blablab 16. Apr 2009 16:38

Re: Geerbte Attribute entfernen
 
??? müsste es nicht andersrum sein? Also:
Sichtbarkeiten lassen sich "nur" erhöhen und nicht wieder verringern?

blablab 16. Apr 2009 17:17

Re: Geerbte Attribute entfernen
 
Vielen Dank für eure Antworten!

Ich hätte aber noch ne kleine Frage zu Komponenten: Wie kann ich einer Komponente ein Icon geben, das dann in der Komponentenpalette angezeigt wird?

fkerber 16. Apr 2009 17:24

Re: Geerbte Attribute entfernen
 
Hi!

Bitte erstelle für deine neue Frage auch einen neuen Thread - sonst geht es hier drunter und drüber!
Danke!


Ciao, Frederic


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