Détermine un rectangle dans la zone client qui contient tous les contrôles spécifiées
#include <WinAPISys.au3>
_WinAPI_GetEffectiveClientRect ( $hWnd, $aCtrl [, $iStart = 0 [, $iEnd = -1]] )
$hWnd | Le handle de la fenêtre qui a l'espace client à traiter. |
$aCtrl | Le tableau contenant les handles ou les identifiants des contrôles qui doivent être inclus dans le calcul de la zone client. Ce paramètre peut se réduire un handle ou un identifiant unique de contrôle. |
$iStart | [optionnel] L'index de l'élément de tableau qui contient le premier contrôle. |
$iEnd | [optionnel] L'index de l'élément de tableau qui contient le dernier contrôle. |
Succès: | Retourne la structure $tagRECT qui contient le rectangle avec la zone client effective. |
Échec: | Définit @error <> 0. |
Si un contrôle du tableau est visible, ou sera visible lorsque son parent devient visible, son rectangle est soustrait du rectangle client effectif.
Si tous les contrôles spécifiés sont manquants, la fonction retourne la zone client de la fenêtre parent.
Consultez GetEffectiveClientRect dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <GUIStatusBar.au3> #include <StaticConstants.au3> #include <WinAPIGdi.au3> #include <WinAPISys.au3> ; Crée une GUI Global $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 600, 400) Global $idMenu = GUICtrlCreateMenu("&File") Global $idExit = GUICtrlCreateMenuItem("E&xit", $idMenu) Global $a_vID[2] $a_vID[0] = _GUICtrlStatusBar_Create($hForm) $a_vID[1] = GUICtrlCreateListView('', 0, 0, 600, 200, -1, 0) ; Calcule la zone client effective (hors contrôles Menu, ListView et StatusBar) Global $tRECT = _WinAPI_GetEffectiveClientRect($hForm, $a_vID) Global $aPos = _WinAPI_GetPosFromRect($tRECT) GUICtrlCreateLabel($aPos[2] & 'x' & $aPos[3], $aPos[0], $aPos[1], $aPos[2], $aPos[3], BitOR($SS_CENTER, $SS_CENTERIMAGE)) GUICtrlSetFont(-1, 25, 400, 0, 'Tahoma') GUICtrlSetBkColor(-1, 0xFFD0D0) ; Affiche le GUI GUISetState(@SW_SHOW) Global $iMsg Do $iMsg = GUIGetMsg() Until $iMsg = $GUI_EVENT_CLOSE Or $iMsg = $idExit