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/)
-   -   Prism published Property sichbar/unsichtbar? (https://www.delphipraxis.net/48457-published-property-sichbar-unsichtbar.html)

Master_BB 25. Jun 2005 17:26


published Property sichbar/unsichtbar?
 
Hallo,
kann man eine in einer eigenen Komponente definierte property
im designer verschwindenlassen wenn der entwickler
bei einer anderen property was anderes einstellt?

sprich wie haben 2 Optionen in einer Komponente

AuswahlModi: -Folder
-File
VerzeichnisAuswahlText:
DateiAuswahlTitel:

und nun ist es klar wenn der user File im
designer von der Komponente auswählt das
VerzeichnisAuswahlText entweder verschwinden sollte
oder disabled wird.

ist sowas möglich? wenn ja wie

greetz

Taladan 25. Jun 2005 17:49

Re: published Property sichbar/unsichtbar?
 
Ich habe bisher fast nur in D4 Komponenten entwickelt. Da war so was nicht möglich. Ich habe die einfach per Prozedur immer genullt, wenn einer da dann was ändern wollte.

Robert_G 25. Jun 2005 18:03

Re: published Property sichbar/unsichtbar?
 
Zitat:

Zitat von Taladan
Ich habe bisher fast nur in D4 Komponenten entwickelt. Da war so was nicht möglich.

Jaaa, aber wir reden hier von .Net. :) In .Net gibt so feine Sachen wie Meta daten. :firejump:

Das PropertyGrid (und auch DataBinding standardmäßig) wird alle Properties ignorieren, die mit BrowsableAttribute(false) markiert sind.

Delphi-Quellcode:
type
   BaseClass = public class
   private
      fSomeProperty :Integer;
      procedure set_SomeProperty(value :Integer);
   public
      property SomeProperty :Integer
         read fSomeProperty
         write set_SomeProperty; virtual;
   end;
 
implementation

method BaseClass.set_SomeProperty(value :Integer);
begin
   fSomeProperty := value;
end;
Damit das funktioniert muss die Property _überschrieben_ werden. (Ich glaube D2005 kann das schon, oder? :gruebel: )

Mehr ist es nicht. :)
Delphi-Quellcode:
uses
   System.ComponentModel;

type
   Descendant = public class(BaseClass)
   public
      [Browsable(false)]
      property SomeProperty :Integer; override;
   end;
In C# muss man die Property noch "zu Fuss" durchgereichen. Sonst ist es genau das gleiche. ;)
Code:
using System.ComponentModel;

public class Descendant : BaseClass
{
   [Browsable(false)]
   public override int SomeProperty
   {
      get { return base.SomeProperty; }
      set { base.SomeProperty = value; }
   }

}
Edit: :wall: Da hat mir wohl die Hitze und die vielen Buchstaben einen Streich gespielt...
Ich dachte du meinst generelles Verstecken... :oops:

Master_BB 25. Jun 2005 18:18

Re: published Property sichbar/unsichtbar?
 
hm wenn das vieleicht nicht geht weiß jemand
wie man vieleicht einige sachen zusammenfassen kann?

ich hab eine Komponente die aus nem Button und einem Edit besteht.
Dort möchte ich jetzt anbieten das durch buttondruck entweder
Dateiauswahl oder Verzeichnisauswahl erscheint.
beide Dialoge haben jedoch eigenschaften die man ja mit der Komponente
zur Designzeit verändern möchte

wenn man unterobjekte hat kommt immer von + und dann klappt man eigentschaften aus
die zu dem objekt gehören,
kriegt man das auhc anders hin um

-FolderDialog
-Description
-NewFolderButtonVisible
-FileDialog
-Title
-Filter

als struktur rein kriegt?


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