![]() |
NonVCL & SetClientRect
Hi,
In der VCL ist es möglich mit ClientRect die Höhe und Breite des Clientbereiches zu ändern. In der nonVCL ist dies nicht so einfach zu regeln (gewesen). :wink:
Delphi-Quellcode:
function SetClientRect(hWnd: HWND; Width, Height: Integer): Boolean;
var R, R2: TRect; isMenu: Boolean; begin SetRect(R, 0, 0, Width, Height); // Testen ob ein Menu vorhanden ist if GetMenu(hWnd) = 0 then isMenu := FALSE else isMenu := TRUE; // errechnen der neuen Fenstergrösse (inc. des akt. Fensterstyles, Border etc.) AdjustWindowRectEx(R, GetWindowLong(hWnd, GWL_STYLE), isMenu, GetWindowLong(hWnd, GWL_EXSTYLE)); GetWindowRect(hWnd, R2); // Fenster auf neue Grösse setzen Result := MoveWindow(hWnd, R2.Left, R2.Top, R.Right - R.Left, R.Bottom - R.Top, TRUE); end; ![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 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