UDF > WinAPIEx > System > Controls >


_WinAPI_GetEffectiveClientRect

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]] )

Param�tres

$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.

Valeur de retour

Succ�s: Retourne la structure $tagRECT qui contient le rectangle avec la zone client effective.
�chec: D�finit @error <> 0.

Remarques

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.

Voir aussi

Consultez GetEffectiveClientRect dans la librairie MSDN.

Exemple

#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