Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.628 Beiträge
Delphi 12 Athens
|
AW: TrackBar Zoomen in einer Paintbox
19. Okt 2011, 11:13
Wie schon gesagt, Du kannst natürlich auch eine Vektorgrafik verwenden. Beispiel:
Delphi-Quellcode:
type
TfrmMetaFileDemo = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private-Deklarationen }
FMetaFile: TMetaFile;
public
{ Public-Deklarationen }
end;
...
procedure TfrmMetaFileDemo.FormCreate(Sender: TObject);
var
mcv: TMetaFileCanvas;
begin
FMetaFile := TMetaFile.Create;
FMetaFile.Width := ClientWidth;
FMetaFile.Height := ClientHeight;
mcv := TMetaFileCanvas.Create(FMetaFile, Canvas.Handle);
try
mcv.Pen.Style := psClear;
mcv.Brush.Color := clRed;
mcv.Ellipse(10, 10, 100, 100);
mcv.Brush.Color := clBlue;
mcv.FillRect(Rect(50, 50, 150, 150));
mcv.Font.Name := 'Arial';
mcv.Font.Size := 20;
mcv.Brush.Style := bsClear;
mcv.TextOut(20, 20, 'Hallo MetaFile');
finally
mcv.Free;
end;
DoubleBuffered := true;
end;
procedure TfrmMetaFileDemo.FormDestroy(Sender: TObject);
begin
FMetaFile.Free;
end;
procedure TfrmMetaFileDemo.FormPaint(Sender: TObject);
begin
Canvas.StretchDraw(ClientRect, FMetaFile);
end;
procedure TfrmMetaFileDemo.FormResize(Sender: TObject);
begin
Invalidate;
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
|
|
Zitat
|