Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#1

Thumbnail-Preview: Screenshot von Hauptform anzeigen

  Alt 6. Jan 2019, 00:48
Hallo zusammen,

ich kenne mich in dem Bereich leider zu wenig aus und habe nun schon einiges gesucht/probiert.
Folgendes nutze ich:

Delphi-Quellcode:
//globale variable
g_Bitmap_for_Thumbnail_Preview: TBitmap;

...

procedure ScreenShotActiveWindow(my_Image: TBitmap);
var
  c: TCanvas;
  R, t: TRect;
  h : THandle;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  h := GetForeGroundWindow;
  if h <> 0 then
      GetWindowRect(h, t);
  try
    R := Rect(0, 0, t.Right - t.Left, t.Bottom - t.Top);
    my_Image.Width := t.Right - t.Left;
    my_Image.Height := t.Bottom - t.Top;
    my_Image.Canvas.CopyRect(R, c, t);
  finally
    ReleaseDC(0, c.Handle);
    c.free;
  end;
end;

...

//Timer
procedure Tfrm_Main.tmr_ScreenshotTimer(Sender: TObject);
begin
  if (frm_Main.WindowState <> wsMinimized) and (gb_Hauptform_Aktiv) then begin
    ScreenShotActiveWindow(g_Bitmap_for_Thumbnail_Preview);
  end;
end;
Ich mache also über einen Timer einen Screenshot von meinem Programm.
In dem Programm kann man mehrere andere Forms aufrufen.

Und nun mein Problem.
Sobald ich eine andere Form aus dem Hauptprogramm aufgerufen habe, erscheint auf dem Screenshot dauerhaft weiterhin die Hauptform, aber auch die anderen Forms!
Tja, und da komme ich momentan nicht weiter.

Hat hier jemand einen Tipp für mich?

Edit: Die "Unter"-Forms schließe ich [über Close()], trotzdem sind *danach* diese "Unter"-Forms dauerhaft über der Hauptform auf dem Screenshot zu sehen, obwohl ja nur die Hauptform für den User zu sehen ist.

Vielen Dank schon mal vorab!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen ( 6. Jan 2019 um 00:58 Uhr)
  Mit Zitat antworten Zitat