Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi NonVCL & SetClientRect (https://www.delphipraxis.net/75079-nonvcl-setclientrect.html)

turboPASCAL 14. Aug 2006 00:22


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;
Delphi-Referenz durchsuchenGetWindowRect Delphi-Referenz durchsuchenAdjustWindowRectEx Delphi-Referenz durchsuchenMoveWindow


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz