Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Screenshot von einem Memo (https://www.delphipraxis.net/42406-screenshot-von-einem-memo.html)

Dr.No 18. Mär 2005 12:16


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.

Steve 18. Mär 2005 12:46

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:
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!');
Das Ganze kann natürlich nach Belieben um- oder ausgebaut werden...
Was da passiert braucht vermtulich nicht weiter kommentiert werden :)

Gruß
Stephan :dance:

[edit]Tippfehler ausgebssert etc.[/edit]

Dr.No 18. Mär 2005 15:47

Re: Screenshot von einem Memo
 
Danke, tut aber immer noch nicht!
Das memo speichert es zwar, aber die schridt nicht!
Weis Jemand noch was?

Pr0g 18. Mär 2005 15:52

Re: Screenshot von einem Memo
 
Hast du was an dem Code geändert? Bei mir gehts mit Schrift.

MfG Pr0g

Dr.No 18. Mär 2005 16:03

Re: Screenshot von einem Memo
 
nee, eigentlich nicht, aber ich hab in den aufruf mit nem savedialog gemacht,
aber daran kanns nich liegen, oder?

Pr0g 18. Mär 2005 16:06

Re: Screenshot von einem Memo
 
Eigentlich nicht, zeig den Code des Aufrufs aber trotzdem mal.

Dr.No 18. Mär 2005 16:07

Re: Screenshot von einem Memo
 
liegt doch an dem savedialog!
aber warum?

Pr0g 18. Mär 2005 16:08

Re: Screenshot von einem Memo
 
Zitat:

Zitat von Dr.No
aber warum?

Ich sagte doch, dass du mal den Code zeigen sollst, wie du den Opendialg öffnest und dann das Bild mit dem Dateinamen speicherst.

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?

Dr.No 18. Mär 2005 16:15

Re: Screenshot von einem Memo
 
einfach nur:
if savedialog1.execute then
ScreenShotControl(Memo1,savedialog1.filename)

Jens Schumann 18. Mär 2005 17:18

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 04:33 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz