UDF > GUI > GuiReBar >


_GUICtrlRebar_HitTest

Détermine quel ruban est à une position spécifiée

#include <GuiReBar.au3>
_GUICtrlRebar_HitTest ( $hWnd [, $iX = -1 [, $iY = -1]] )

Paramètres

$hWnd Handle du contrôle Rebar
$iX [optionnel] Position X, en coordonnées client, à tester ou -1 pour utiliser la position actuelle de la souris
$iY [optionnel] position Y, en coordonnées client, à tester ou -1 pour utiliser la position actuelle de la souris

Valeur de retour

Succès: Retourne un tableau avec le format suivant:
    [0] - Index, de base 0, du ruban qui se trouve à la position spécifiée, ou -1
    [1] - Si True, la position est dans la fenêtre client de contrôle, mais pas sur un ruban
    [2] - Si True, la position est dans la fenêtre client du contrôle
    [3] - Si True, la position est sur la légende d'un ruban du contrôle
    [4] - Si True, la position est sur le chevron d'un ruban du contrôle (version 5.80 et plus )
    [5] - Si True, la position est sur la poignée d'un ruban du contrôle
Échec: Définit @error <> 0.

Exemple

#include <GUIConstantsEx.au3>
#include <GuiReBar.au3>
#include <GuiToolbar.au3>
#include <WinAPIConstants.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hGui, $idBtnExit, $hReBar, $hToolbar, $idInput, $aHitTest, $msg
    Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $idHelp

    $hGui = GUICreate("Rebar", 400, 396, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_MAXIMIZEBOX))

    ; Crée un contrôle rebar
    $hReBar = _GUICtrlRebar_Create($hGui, BitOR($CCS_TOP, $WS_BORDER, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS))

    $g_idMemo = GUICtrlCreateEdit("", 2, 100, 396, 250, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 10, 400, 0, "Courier New")

    ; Crée un toolbar pour le placer dans le rebar
    $hToolbar = _GUICtrlToolbar_Create($hGui, BitOR($TBSTYLE_FLAT, $CCS_NORESIZE, $CCS_NOPARENTALIGN))

    ; Ajoute des bitmaps système standards
    Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
        Case 0
            _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
        Case 2
            _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
    EndSwitch

    ; Ajoute des boutons
    _GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN)
    _GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE)
    _GUICtrlToolbar_AddButtonSep($hToolbar)
    _GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)

    ; Crée un inputbox pour la placer dans la rebar
    $idInput = GUICtrlCreateInput("Input control", 0, 0, 120, 20)

    ; Ajoute un ruban contenant le contrôle inputbox
    _GUICtrlRebar_AddBand($hReBar, GUICtrlGetHandle($idInput), 120, 200, "Name:")

    ; Ajoute un ruban contenant le contrôle toolbar au début du rebar
    _GUICtrlRebar_AddToolBarBand($hReBar, $hToolbar, "", 0)

    $idBtnExit = GUICtrlCreateButton("Exit", 150, 360, 100, 25)
    GUICtrlSetState($idBtnExit, $GUI_DEFBUTTON)
    GUICtrlSetState($idBtnExit, $GUI_FOCUS)

    GUISetState(@SW_SHOW)

    $aHitTest = _GUICtrlRebar_HitTest($hReBar, 150, 25)
    MemoWrite("iBand........: " & $aHitTest[0])
    MemoWrite("$RBHT_NOWHERE: " & $aHitTest[5])
    MemoWrite("$RBHT_CLIENT.: " & $aHitTest[3])
    MemoWrite("$RBHT_CAPTION: " & $aHitTest[1])
    MemoWrite("$RBHT_CHEVRON: " & $aHitTest[2])
    MemoWrite("$RBHT_GRABBER: " & $aHitTest[4])

    Do
        $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE Or $msg = $idBtnExit
EndFunc   ;==>Example

; Ecrit un message dans le contrôle memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite