Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
Delphi 12 Athens
|
AW: TrackBar Zoomen in einer Paintbox
17. Okt 2011, 10: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
|