Dieser Code sollte ja eigentlich, das TImage vollständig füllen...
Quelltext
1: 2: 3: 4:
| Bild.Canvas.Brush.Color := RGB( 255, 255, 255 ); Flaeche := Bild.Canvas.ClipRect; Bild.Canvas.FillRect( Flaeche ); |
...tut er auch, aber nur in dem Bereich der angezeigt wird nach dem das Programm gestartet wurde. Das heisst, wenn ich das Formular vergrößere und dadurch das TImage ja auch größer wird, also die Komponente an sich, also Bild.Height und Bild.Width größer werden, hab ich geprüft...
Dann müsste die Zeichenfläche auch komplett gefüllt werden, also das Canvas, nur füllt er auch bei vergrößertem Canvas nur den Bereich Bild.Canvas.ClipRect, das ist ja auch logisch, den genau diese ändert sich komischer weise beim vergrößern nicht...
Man kann das Rect ja auch selbst festlegen:
Quelltext
1: 2: 3:
| Bild.Canvas.Brush.Color := RGB( 255, 255, 255 ); Flaeche := Rect( 0, 0, Bild.Width, Bild.Height ); Bild.Canvas.FillRect( Flaeche ); |
doch auch das ändert nciths, alles was über die anfangsgröße hinausgeht, wird einfach abgeschnitten, so wie es in der beschreibung von ClipRect steht...
Auch ein manuelles ändern ist ncith möglich, da die Variable Schreibgeschützt ist.
Also müsste es doch eine Methode geben, die ClipRect ändert, also die Größe der Zeichenfläche ändern kann oder aktuallisiert, wenn man die größe des Formulars geändert hat.
Irgendwie weiss ich nicht so recht wie ich das Problem beschreiben soll, ich hoffe diesmal war es einigermaßen anschaulich erklärt.