![]() |
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; |
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Zitat:
Ich hab aber leider noch eine Frage: Mit dem oberen Code kann ich die sichtbare Größe des externen Fensters auslesen. Wenn aber das Fenster Scrollbars hat, dann ist ja die sichtbare Größe kleiner als die maximale Größe des Fensters. Wie kann ich denn die komplette (maximale) Größe des externen Fensters auslesen? |
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
*ganz nach oben häng*
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
GetScrollRange
|
AW: ClientHeight, ClientWidth, Top und Left eines externen Fensters ermitteln
Danke!
Aber mein Problem besteht weiter - das Fenster wird sichtlich nicht gescrollt auch ein neuzeichnen bringt nichts |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 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