Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ClientHeight/ClientWidth für WinAPI (https://www.delphipraxis.net/31571-clientheight-clientwidth-fuer-winapi.html)

Nonsense 11. Okt 2004 12:29


ClientHeight/ClientWidth für WinAPI
 
Hallo,

gibt es eine WinAPI Funktion, welche mir die Höhe/Weite des Client Bereiches meines Fensters zurückgibt (sowas wie ClientHeight/ClientWidth)?

Thx.

Stevie 11. Okt 2004 16:35

Re: ClientHeight/ClientWidth für WinAPI
 
MSDN-Library durchsuchenGetClientRect

Nonsense 11. Okt 2004 16:53

Re: ClientHeight/ClientWidth für WinAPI
 
Danke. :)

Nonsense 17. Okt 2004 20:50

Re: ClientHeight/ClientWidth für WinAPI
 
Gibt es eine Möglichkeit (unter Win32 API), die Client-Größe festzulegen? Das Problem ist nämlich, dass sich meine Fenstergröße nach dem Inhalt richtet (zum Beispiel ein Bild mit fester Größe von 250x350 Pixel).

Wenn jetzt jemand mit WindowsXP das Programm aufruft, ist der untere Teil des Bildes nicht mehr sichtbar, da die Größe der Titel-Leiste sich zwischen Win2k und WinXP unterschiedlich ist (wegen Luna-Oberfläche).

Mit der VCL geht das ja auch: FormMain.ClientHeight := 250;

Hat jemand eine Idee?

Christian Seehase 17. Okt 2004 21:01

Re: ClientHeight/ClientWidth für WinAPI
 
Moin Nonsense,

schau Dir dazu mal MSDN-Library durchsuchenSetWindowPos an.

Nonsense 17. Okt 2004 21:08

Re: ClientHeight/ClientWidth für WinAPI
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Christian Seehase
Moin Nonsense,

schau Dir dazu mal MSDN-Library durchsuchenSetWindowPos an.

Wird dadurch aber nicht auch nur die Größe außerhalb der Titelleiste geändert (cx, cy)?

Mal ein Beispiel - wenn die Titelleiste größer ist als "normal" (wie bei WinXP mit Luna), sieht das wie bei Anhang aus: der untere Teil ist abgeschnitten.

Christian Seehase 17. Okt 2004 21:12

Re: ClientHeight/ClientWidth für WinAPI
 
Moin Nonsense,

Du müsstest Dir, mit Hilfe von MSDN-Library durchsuchenGetSystemMetrics, die für die jeweilige Systemumgebung erforderliche Formulargrösse ausrechnen.
Da kommen einige mögliche Einstellungen in Frage.

Nonsense 17. Okt 2004 21:15

Re: ClientHeight/ClientWidth für WinAPI
 
Ok, Danke.
Einfacher wird es wohl nicht gehen. :?

SirThornberry 17. Okt 2004 23:20

Re: ClientHeight/ClientWidth für WinAPI
 
Wenn du die Clientheight rausbekommst und die richtige höhe kannst du doch anhand der sich daraus ergebenen Differenz berechnen wie groß die neue größe sein muss damit die gewünschte Clientheight erreicht wird. Anders wird es in den VCL-Sourcen sicher auch nicht sein.
Wenn also dein Form eine Clientheight von 50 hat und die reale Höhe 80 ist dann musst du wenn die Clientheight 100 werden soll nur 50 auf die reale höhe dazu rechnen (100 - alteClientheight(50) = 50 => 50 + 80 = Clientheight von 100).

teebee 18. Okt 2004 07:16

Re: ClientHeight/ClientWidth für WinAPI
 
Ich hätte auch noch was:MSDN-Library durchsuchenAdjustWindowRect

Gruß, teebee


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.
Seite 1 von 2  1 2      

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