Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TrackBar Zoomen in einer Paintbox

  Alt 17. Okt 2011, 09:24
Prinzipiell ist das mit ein wenig Prozentrechnung einigermaßen einfach zu realisieren. Beispiel mit einer PaintBox (align = alClient):
Delphi-Quellcode:
procedure TForm1.PaintBox1Paint(Sender: TObject);
const
  Prozent = 95;
var
  Hoehe, Breite, Links, Oben: integer;
  pb: TPaintBox;
begin
  pb := Sender as TPaintBox;
  pb.Canvas.Pen.Color := clRed;
  pb.Canvas.Pen.Width := 3;
  //Höhe und Breite der Ellipse sollen jeweils 95% des Clientbereichs betragen
  Hoehe := trunc(pb.ClientHeight / 100 * Prozent);
  Breite := trunc(pb.ClientWidth / 100 * Prozent);
  Links := trunc((pb.ClientWidth - Breite) / 2);
  Oben := trunc((pb.ClientHeight - Hoehe) / 2);
  pb.Canvas.Ellipse(Links, Oben, Links + Breite, Oben + Hoehe);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat