Hi Mimi
Sorry, aber du vergleichst sozusagen einen BMW mit einem Mercedes: Delphi und Lazarus sind trotz aller Ähnlichkeiten nicht dasselbe.
Aus der Delphi - Help:
TCanvas = class(TPersistent);
TCanvas hat zwei Nachkommen, TControlCanvas und TMetafileCanvas, die beim Zeichnen von Steuerelementen und beim Erzeugen von Metafile-Bildern für Objekte hilfreich sind.Der Canvas selbst wird also von der Nummer2, TPersistent, abgeleitet. Veröffentlicht wird er in Komponenten wie TPaintbox oder eben TImage. Es wäre also durchaus möglich, den Canvas in einer von TCustomControl abgleiteten Komponente zu veröffentlichen. Nur, wo ist da letztlich der Sinn?TCustomControl = class(TWinControl);
In den meisten Nachkommen von TWinControl wird das Zeichnen der Oberfläche des Steuerelements vom zugrunde liegenden Windows-Bildschirmobjekt übernommen. Wenn ein Steuerelement sichtbare Merkmale besitzt, die von einem Windows-Bildschirmobjekt nicht gerendert werden können, benötigt es Zugriff auf ein Zeichenflächenobjekt, um die seine eigene Darstellung zu erzeugen.
TCustomControl ist eine von zwei Basisklassen für Steuerelemente, die den Zeichenbereich selbständig darstellen. Da TCustomControl ein Nachkomme von TWinControl ist, können Instanzen seiner Nachkommen den Fokus erhalten und als Container fungieren.
Nochmal: Wenn du Ressourcen schonend arbeiten willst, solltest du von TPaintbox ableiten.
Ups, ich sehe gerade, dass sich der Vorfahre von TPaintbox offensichtlich in den letzten Jahren geändert hat. Meine Aussage wegen der ressourcenschonenderen Paintbox ändert sich - wegen TGraficControl - allerdings nicht:
TObject - TPersistent - TComponent - TControl - TGraphicControl - TImageTObject - TPersistent - TComponent - TControl - TGraphicControl - TPaintBoxAber:TObject - TPersistent - TComponent - TControl - TWinControl - TCustomControl
Komponenten, die von TGraphicControl abgeleitet sind, können z.B. keinen Focus erhalten und keine Tastatureingaben erhalten.TObject - TPersistent - TCanvas
In Lazarus ist dies offensichtlich ziemlich anders...
Gruss
Delbor

Zitieren



Lesezeichen