![]() |
Screenshot von einem Memo
Wie kann ich mit Delphi einen Screenshot von einem Objekt aif meiner form machen?
In meinem Fall ist es ein Memo. |
Re: Screenshot von einem Memo
Hi,
erstmal herzlich willkommen in der DP! :dp: :party: Zur Frage: sowas in der Richtung könnte helfen:
Delphi-Quellcode:
Das Ganze kann natürlich nach Belieben um- oder ausgebaut werden...
TYPE
TForm1 = CLASS(TForm) ... PRIVATE // Methode deklarieren FUNCTION ScreenshotControl(aControl : TControl; aFileName : String) : Boolean; END; ... FUNCTION TForm1.ScreenshotControl(aControl : TControl; aFileName : String) : Boolean; VAR bmp: TBitmap; BEGIN Result := FALSE; IF Assigned(aControl) THEN TRY Bmp := TBitmap.Create; Bmp.Width := aControl.Width; Bmp.Height := aControl.Height; Bmp.Canvas.CopyRect(Rect(0,0,Bmp.Width,Bmp.Height), Canvas,aControl.BoundsRect); // "Canvas" = Self.Canvas Bmp.SaveToFile(aFileName); Result := TRUE; FINALLY FreeAndNil(Bmp); END; END; { Aufruf } IF ScreenShotControl(Memo1,'D:\Test.bmp') Then ShowMessage('Hat geklappt!'); Was da passiert braucht vermtulich nicht weiter kommentiert werden :) Gruß Stephan :dance: [edit]Tippfehler ausgebssert etc.[/edit] |
Re: Screenshot von einem Memo
Danke, tut aber immer noch nicht!
Das memo speichert es zwar, aber die schridt nicht! Weis Jemand noch was? |
Re: Screenshot von einem Memo
Hast du was an dem Code geändert? Bei mir gehts mit Schrift.
MfG Pr0g |
Re: Screenshot von einem Memo
nee, eigentlich nicht, aber ich hab in den aufruf mit nem savedialog gemacht,
aber daran kanns nich liegen, oder? |
Re: Screenshot von einem Memo
Eigentlich nicht, zeig den Code des Aufrufs aber trotzdem mal.
|
Re: Screenshot von einem Memo
liegt doch an dem savedialog!
aber warum? |
Re: Screenshot von einem Memo
Zitat:
Edit: Es könnte sein, dass der OpenDialog über dem Memo liegt und daher das Canvas den Text nicht anzeigt. Du speichert also, bevor das Memo nach dem Schließen des Opendialgs neu zeichnet. Könnte das bei dir hinkommen? |
Re: Screenshot von einem Memo
einfach nur:
if savedialog1.execute then ScreenShotControl(Memo1,savedialog1.filename) |
Re: Screenshot von einem Memo
Hallo,
haben für solche Zwecke nicht alle visuellen Komponenten die PaintTo Methode :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz