Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#7

AW: Herausfinden, ob Fenster sichtbar ist

  Alt 22. Nov 2016, 18:27
Meine aktuelle Funktion sieht momentan so aus. Ich habe nur die markierte Stelle geändert aber leider habe ich keinen Zugriff auf GetClientRect.

Delphi-Quellcode:
function GetVisibleStatus(const PForm: TForm): TVisibleStatus;
var
 Clip: Integer;
 hDC: THandle;
 ClipRect, ClientRect: TRect;
begin
 hDC := GetDC(PForm.Handle);
 Clip := GetClipBox(hDC, ClipRect);

 case Clip of
  NULLREGION:
   Result := vsHidden; // Fenster ist komplett versteckt
  SIMPLEREGION:
   begin
    ClientRect := PForm.GetClientRect; // nur das hier habe ich geändert

    if EqualRect(ClipRect, ClientRect) then // vollständig sichtbar
     Result := vsVisible // ClientRect ist sichtbar
    else // teils sichtbar
     Result := vsPartVisible; // ClientRect ist sichtbar
   end;
  COMPLEXREGION: // Region besteht aus mehr als einem Rechteck, Fenster ist teils sichtbar
   Result := vsPartVisible;
 end;

 ReleaseDC(Handle, hDC);
end;
Die letzte Zeile verstehe ich auch nicht. Müsste da nicht eigentlich PForm.Handle stehen und nicht Handle?
  Mit Zitat antworten Zitat