Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by shmia,
20. Okt 2010
Hier mal eine Zusammenfassung der Klassen, die für die Darstellung von "Grafischen Dingen" in Frage kommen:
1.) TGraphicControl
Geeignet, wenn man nur ein graphische Object anzeigen möchte und keine Steuerung über Tastatus oder Maus benötigt.
Man muss von TGraphicControl ableiten und die Methode Paint überschreiben.
Innerhalb von Paint zeichnet man auf das Canvas-Objekt.
Es ist ein Fehler,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by shmia,
19. Okt 2010
TPaintbox ist auch die falsche Basisklasse; muss dann wohl eine Jugendsünde von Stahli gewesen sein.
TPaintbox erfüllt folgenden Zweck:
das Zeichnen wird über das Event OnPaint an das Formular deligiert.
Das bedeutet man kann immer die gleiche Komponente TPaintbox verwenden und damit ganz unterschiedliche Dinge zeichnen weil der Zeichencode auf dem Formular liegt.
Wenn man von TPaintbox...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by shmia,
19. Okt 2010
Dein Konstruktor ist auch falsch :-(
Jedes Control ist auch eine Komponente; logisch weil von TComponent sich alle Controls ableiten.
Das Problem bzw. die Einschränkung ist nun, dass alle Klassen, die von TComponent ableiten folgenden Konstruktor verwenden MÜSSEN:
constructor Create(AOwner: TComponent); virtual;
Man darf zwar einen abweichenden Konstruktor erstellen, aber dieser...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by shmia,
19. Okt 2010
Das ist schon mal falsch!
TImage ist ein Control um ein TPicture (Bitmap, GIF, JPeg,...) darzustellen.
(Controls sind sichtbare Steuerelement)
Es ist nicht als Basisklasse für eigene Controls gedacht.
Wenn dein Control nicht auf Tasten und Mausklicks reagieren soll dann von TGraphicControl ableiten.
Falls dein Control auf Tasten und Mausklicks reagieren soll, dann von TCustomControl...