Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: "Echte" Sichtbarkeitsprüfung

  Alt 17. Apr 2006, 00:02
Sodele... hab das jetzt gelöst. Der relevante Code:
Delphi-Quellcode:
GetWindowRect(handle,wr);

  //wenn das fenster die Höhe/Breite 0 hat, ist es offensichtlich kein
  //relevantes fenster.
  if (wr.Right = wr.Left) or (wr.Bottom = wr.Top) or
     ((wr.Left = -32000) and Form1.CBSkipMaximized.Checked) then
    Exit;

if (IntersectRect(ir,wr,Form1.area) xor Form1.RBValid.Checked) then
    Form1.ListBox1.AddItem(c,TObject(handle));
Hab den Puffer einfach rausgenommen.

So einfach isses

Tut wunderbar.. hab übrigens nicht deine Intersectrect hergenommen.

Haben maximierte Fenster eigentlich immer das offset (-32000|-32000) ?!

Den kompletten Code gibts hier: http://www.delphipraxis.net/internal...ct.php?t=80732
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat