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 zu blöd zum Property überschreiben? (https://www.delphipraxis.net/95029-zu-bloed-zum-property-ueberschreiben.html)

gmc616 29. Jun 2007 14:46


zu blöd zum Property überschreiben?
 
Hallo DP,

irgendwie steh ich grad auf'm Schlauch.

Ich möchte mir eine Label-Komponente basteln welches das Property Cursur im OI mit meinen default-Wert crSizeAll überschreibt.
Delphi-Quellcode:
Type TSizeLabel = class (TLabel)
  private
    FCursor: TCursor;
    procedure SetCursor(const Value: TCursor);
  published
    Property Cursor : TCursor read FCursor write SetCursor default crHandPoint;
end;
tut es aber nicht. Im OI bleibt die Eigenschaft crDefault.

Wie krieg ich das zum Freitag Nachmittag noch hin?

Danke und :hi:
gmc

SirThornberry 29. Jun 2007 14:48

Re: zu blöd zum Property überschreiben?
 
das default gibt nur an welcher Wert NICHT in der dfm gespeichert werden soll.
Standardmäßig ist das crDefault (muss nicht gespeichert werden weil der wert ja per default schon gesetzt ist).
Du musst noch den constructor überschreiben und dort den wert ändern.

gmc616 29. Jun 2007 15:23

Re: zu blöd zum Property überschreiben?
 
Sorry, aber der Schlau ist heute extrem Breit.

Das TLabel hat "von Hause" aus ja auch die Property Cursor.
Wie Überschreibe ich dann diesen Wert.

So geht nämlich nicht,
Delphi-Quellcode:
constructor TccUrlLabel.Create(AOwner: TComponent);
begin
  inherited;
  Inherited Cursor := FCursor;

end;
da, wie ich vermute, FCursor an dieser Stelle noch auf crDefault steht.

Muetze1 29. Jun 2007 16:02

Re: zu blöd zum Property überschreiben?
 
Hat SirThornberry schon alles geschrieben...

Delphi-Quellcode:
Type
  TSizeLabel = class (TLabel)
  public
    constructor Create(AOwner: TComponent); override;
  published
    property Cursor default crHandPoint;
  end;

....

constructor TSizeLabel.Create(AOwner: TComponent);
begin
  inherited;
   
  Cursor := crHandPoint;
end;

gmc616 2. Jul 2007 11:56

Re: zu blöd zum Property überschreiben?
 
Ah!! Am Montag Mittag macht das alles richtig Sinn. :oops:

Klar ... ! :wall:

Danke.


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