![]() |
ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Hallo,
ist es möglich von einem externen Fenster "ClientWidth", "ClientHeight", "Top" und "Left" auszulesen? Und falls ja, wie. |
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Wieso fallen mir die Antworten immer erst ein, nachdem ich nen Thread erstellt habe?
Delphi-Quellcode:
var
r: TRect; begin GetWindowRect(h, r); end; |
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Nja damit kriegste aber ned ClientWidth/ClientHeight sondern Width/Height (Right-Left, Bottom-Top)
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Und dann kann man die Rahmendicke abziehen, die man über GetSystemmetrics abfragen kann.
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Zitat:
Ich denke
Delphi-Quellcode:
wäre sinnvoller.
GetClientRect
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Kann man auch alles abfragen. Aber wenn es dafür eine schon fertige Funktion gibt, ist es natürlich einfacher diese zu benutzen.
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Zitat:
Mit GetWindowRect ermittle ich ja das Rect des (sichtbaren) Fensters. Aber gibt es auch die Möglichkeit das Rect eines Fensters zu ermitteln, das größer ist, als der sichtbare Bereich, also mit Scrollbalken? Wie gesagt, ich bin in einem externen Fenster |
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
fremdes Fenster ist doch nicht anders..nur HWnd suchen und los gehts ;-)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var hNotepadWindow: HWND; lpr:TRect; begin hNotepadWindow := FindWindow('notepad', nil); getwindowrect(hNotepadWindow,lpr); end; |
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Zitat:
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Delphi-Quellcode:
var
hand: HWND; WndRect,ClntRect:TRect; begin hand := FindWindow('notepad', nil); if handle <> 0 then begin GetWindowRect(hand,WndRect); Windows.GetClientRect(hand,ClntRect); Showmessage(Format('Window Top: %d Left: %d Right: %d Bottom %d'#13#10 +'Client Top: %d Left: %d Right: %d Bottom %d'#13#10 ,[WndRect.Top,WndRect.Left,WndRect.Right,WndRect.Bottom , ClntRect.Top,ClntRect.Left,ClntRect.Right,ClntRect.Bottom])); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz