Einzelnen Beitrag anzeigen

Schilly

Registriert seit: 10. Dez 2008
Ort: Nähe Bremen
16 Beiträge
 
#1

Image malt nach Resizen nicht über die alten Grenzen hinaus

  Alt 1. Dez 2009, 17:22
Hallo,

Ich habe eine von TImage abgeleitete Klasse. Da drin sind ein paar Boxen gemalt, das soll mal Käsekästchen werden ^^. Wenn ich jetzt zur Laufzeit Width und Height vergrößere (sind von Beginn auf einem Standardwert), passen sich die Boxen daran an, aber er zeigt nur innerhalb der alten Grenzen etwas an, d.h. er schneidet es bei den alten Grenzen ab. Width und Height haben trotzdem, wenn ich sie abrufe, die neuen Werte. Mit den Constraints habe ich auch nicht rumgespielt, wenn ich die aber z.B. auf 1000 oder 0 setze, ändert sich allerdings auch nichts. Meine alte OnResize - Prozedur hab ich jetzt schon zur OnCanResize geändert, trotzdem der gleiche Fehler. Was habe ich also falsch gemacht?

Wenn es euch etwas hilft, kann ich euch auch noch die OnCanResize-Prozedur geben:

Delphi-Quellcode:
procedure TDotsGame.CanResizeIt(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
begin
  case FResizeKind of
    rszBoxSize: // Box-Seitenlänge passt sich an, Anzahl der Boxes bleibt gleich
        FBoxSize := Min( NewWidth div FGameSize.X , NewHeight div FGameSize.Y );
    rszBoxCount: // Box-Seitenlänge bleibt gleich, Anzahl der Boxes wird angepasst
        SetGSsimple( Point( NewWidth div FBoxSize, NewHeight div FBoxSize ) );
  end;
  NewWidth := FBoxSize * FGameSize.X;
  NewHeight := FBoxSize * FGameSize.Y;
end;
(Mit beiden Werten für FResizeKind geht es nicht.)

Vielen Dank im Vorraus!
  Mit Zitat antworten Zitat