Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Screenshots von 2 übereinanderliegenden Forms

  Alt 9. Jan 2015, 21:08
bei mir schaut jetzt die Erweiterung für die 2. Form (MessageForm) so aus:

Delphi-Quellcode:
    If MessageForm.Visible then
      begin
        Rahmenbreite_MaskForm := (MaskForm.Width - MaskForm.ClientWidth) div 2;

        X := MessageForm.Left - (MaskForm.Left + Rahmenbreite_MaskForm);
        Y := MessageForm.Top - (MaskForm.Top + (MaskForm.Height - Rahmenbreite_MaskForm - MaskForm.ClientHeight));

        DestRect := Rect(X, Y, X + MessageForm.ClientWidth, Y + MessageForm.ClientHeight);
        SourceRect := Rect(0, 0, MessageForm.ClientWidth, MessageForm.ClientHeight);

        Bitmap.Canvas.CopyRect(DestRect, MessageForm.Canvas, SourceRect);
      end;
damit wird die 2. Form im Bitmap genau an die gleiche Stelle gesetzt, wie auch im Programm.
Dummerweise muss man etwas rumprogrammieren um die Höhe der Titelleiste der 1. Form (MaskForm) rauszubekommen
Code:
(Höhe Titelleiste = Form.Höhe - Rahmenbreite - Form.ClientHöhe)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (10. Jan 2015 um 14:50 Uhr)
  Mit Zitat antworten Zitat