Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Clientbereich-Offset ermitteln


capitalismslut - Di 08.02.11 00:00
Titel: Clientbereich-Offset ermitteln
Hi Leute,

ich hoffe das ich hier richtig bin. Und zwar geht es um folgendes, ich bastel an einem screen capturing Programm, welches nur einen bestimmten Bereich auslesen soll. Dafür hab ich eine automatische Positionierung geschrieben, welche allerdings auch mal einen eigentlich zu großen Bereich ermittelt. Dafür hab ich mir überlegt, dass ich zusätzlich ein einfaches TForm erzeuge, in dem der Client-Bereich einfach transparent ist [so dass man das Formular sozusagen als Bilderrahmen verwenden kann]
Nun ist es ja so das bei den verschiedenen Windows-Versionen bzw. Designs die Ränder unterschiedlich groß sind.
Nun zur Frage: Kann man irgendwie das Offset zwischen Fensterposition und Clientbereich ermitteln?
Das Offset wäre ja nur 0|0 wenn ich mit BorderStyle bsNone arbeite, das möchte ich allerdings nur ungern machen =/

mfg
capitalismslut


jaenicke - Di 08.02.11 00:24

Bei einem eigenen Formular kannst du einfach die Eigenschaft ClientRect des Formulars benutzen. ;-)

Um die Größe der Rahmen (und viel mehr) zu bestimmen, gibt es GetSystemMetrics:
http://msdn.microsoft.com/en-us/library/ms724385(v=vs.85).aspx


capitalismslut - Di 08.02.11 15:04

Danke, dass ist genau das was ich gesucht hab :]