Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#5

AW: Zahl grafisch anzeigen lassen

  Alt 24. Jan 2014, 23:15
Hallo,

ich würde eher Bummis Ansatz wählen: Denn den Spass mit Controls (TShape) zu erledigen heißt ja auch diese wieder los zu werden (im Eingangspost steht da was von: "die Summe ändert sich ständig."); das ist zwar eigentlich auch kein Problem, aber lästiger Mehraufwand.

Man könnte also den Code von nuclearping (leicht geändert: Es kommt besser, wenn die Quadrate nicht abgeschnitten werden) und den Ansatz von Bummi vereinen zu:
Delphi-Quellcode:
const
  SQUARE_SIDE = 20;

procedure TForm1.PaintBox1Paint(Sender: TObject);
var
  i, l, t : Integer;
begin
  PaintBox1.Canvas.Brush.Color := clSkyBlue;

  l := 0;
  t := 0;
  for i := 1 to FSum do
    begin
      PaintBox1.Canvas.FillRect (Rect (l, t, l + SQUARE_SIDE, t + SQUARE_SIDE));
      Inc (l, SQUARE_SIDE + 2);
      if PaintBox1.Width < l + SQUARE_SIDE then
        begin
          l := 0;
          Inc (t, SQUARE_SIDE + 2)
        end
    end
end;
Wann jetzt noch ein Invalidate notwendig wird wirst Du sicherlich rausfinden.

[EDIT]Wie unhöflich von mir[/EDIT] Willkommen in der DP

Gruß
Volker Zeller

Geändert von Volker Z. (24. Jan 2014 um 23:41 Uhr) Grund: Weil ich kann
  Mit Zitat antworten Zitat