Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Komponente mit TPaintBox: kann nicht mit Canvas zeichene

  Alt 15. Jan 2008, 13:34
1. Warum leitest du von TPaintBox ab und nicht von TGraphicControl?
2. Warum malst du nicht in der Paint Methode? Jetzt hast du das Problem, dass dein gezeichneter Pfeil im alltäglichen Gebrauch fast nie zu sehen ist.
3. Du malst direkt im Constructor - aber dort existiert dein Canvas noch nicht. Ausserdem macht es keinen Sinn dort zu zeichnen - siehe Punkt 2.
4. Deine Komponente verlangsamt das Öffnen und Laden eines Formulars deutlich, da sie bei jeder einzelnen Property-Änderung direkt wieder MalZiffer aufruft, anstatt (zusammen mit Punkt 2) z.B. Invalidate zu nutzen. Auch braucht die Komponente nicht bei einer Propertyänderung neu gezeichnet werden, wenn sie noch aus dem Formular gestreamt wird (csLoading in ComponentState).

Ansonsten noch:

a) Resize wird entgegen deinem Kommentar zuf Laufzeit genauso aufgerufen. Mit Punkt 2 fällt diese Methode eh als unnötig weg.
b) "Male" und nicht "Mal"
c) Quadrat ohne "h"
  Mit Zitat antworten Zitat