Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   TStringGrid.ColWidth "erweitern" (class helper ?) (https://www.delphipraxis.net/156023-tstringgrid-colwidth-erweitern-class-helper.html)

hoika 17. Nov 2010 07:14

Delphi-Version: 5

TStringGrid.ColWidth "erweitern" (class helper ?)
 
Hallo #,

ich suche einen Weg, TStringGrid.ColWidth zu erweitern.

Hintergrund:
In unserem Code werden feste breiten verwendet.
Stelle ich auf "large fonts" um, ist die Breite zu klein.

Ich will jetzt nicht:
1. wo ColWidth verwendet wird, etwas dranpfriemeln
2. TStringGrid ableiten

Ich hatte da ein class helper gedacht.
Kann man damit etwas drehen ?

Danke


Heiko

mirage228 17. Nov 2010 08:14

AW: TStringGrid.ColWidth "erweitern" (class helper ?)
 
Ich glaube nicht, dass Class Helper an bestehenden Methoden etwas ändern können. Man müsste ja so etwas wie GetColWidth überschreiben.

Ein möglicher Weg wäre vielleicht eine Ableitung von TStringGrid, die das Verhalten wie gewünscht umsetzt. In einer Ableitung kannst Du solche Getter neu bzw. überschreiben und so die bestehende Logik anpassen.
Um Deine bisherigen Grids auf das abgeleitete Grid umzubauen kannst Du einfach direkt die DFM bzw. die PAS editieren und einfach die Deklaration auswechseln :)

Viele Grüße

mkinzler 17. Nov 2010 08:21

AW: TStringGrid.ColWidth "erweitern" (class helper ?)
 
Oder den Originaltyp überdecken

stahli 17. Nov 2010 12:00

AW: TStringGrid.ColWidth "erweitern" (class helper ?)
 
Das Class Helper Video zeigt sehr anschaulich, was mit class helpern geht.

Man kann also NICHT
- bestehende Methoden überschreiben
- neue Variablen einführen.

Man definiert also letztlich zusätzliche Methoden, die dann anscheinend direkt zu dem Objekt Objekt gehören.
Man kann damit alles tun, das man auch in einer Prozedur oder Funktion erleigen könnte, der man das Objekt übergibt und dort dessen (ich glaube nur öffentlichen) Eigenschaften verwendet.
Diese neuen Prozeduren und Funktionen werden jedoch direkt dem Objekt "untergemogelt".


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