Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Ich muss für aktuellen Screenshot immer 2x drücken

  Alt 21. Okt 2009, 17:03
Hm, stell dir mal folgenden Fall vor:

Dein Programm läuft - warum auch immer - im Hintergrund und der User sucht im Internet etwas bei Wikipedia raus. Dort kopiert er eine Grafik und möchte sie in Word einfügen. Zufällg macht dein Programm in diesem moment ein screenshot und der werte User bekommt dann in Word nicht die Grafik angezeigt sondern seinen eigenen Bildschirm...nicht so toll oder?

Benutze lieber:

Delphi-Quellcode:
procedure MakeScreenShot(const ATarget: TBitmap);
var
  DesktopDC: HDC;
begin
  DesktopDC := CreateDC('DISPLAY', nil, nil, nil);
  try
    ATarget.PixelFormat := pfDevice;
    ATarget.Width := Screen.Width;
    ATarget.Height := Screen.Height;

    BitBlt(ATarget.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DesktopDC, 0, 0, SRCCOPY);
  finally
    DeleteDC(DesktopDC);
  end;
end;
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat