Function Reference


_GUICtrlRebar_HitTest

Determines which band is at a specified position

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

Parameters

$hWnd Handle to the rebar control
$iX [optional] X position, in client coordinates, to be tested or -1 to use the current mouse position
$iY [optional] Y position, in client coordinates, to be tested or -1 to use the current mouse position

Return Value

Success: an array with the following format:
    [0] - 0-based index of the band at the specified position, or -1
    [1] - If True, position is in control's client window but not on an band
    [2] - If True, position is in control's client window
    [3] - If True, position is over the rebar band's caption
    [4] - If True, position is over the rebar band's chevron (version 5.80 and greater)
    [5] - If True, position is over the rebar band's gripper
Failure: sets the @error flag to non-zero.

Example

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

Global $g_idMemo

Example()

Func Example()
        Local $hGui = GUICreate("Rebar Hit Test (v" & @AutoItVersion & ")", 400, 396, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_MAXIMIZEBOX))

        ; create the rebar control
        Local $hReBar = _GUICtrlRebar_Create($hGui, BitOR($CCS_TOP, $WS_BORDER, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS))

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

        ; create a toolbar to put in the rebar
        Local $hToolbar = _GUICtrlToolbar_Create($hGui, BitOR($TBSTYLE_FLAT, $CCS_NORESIZE, $CCS_NOPARENTALIGN))

        ; Add standard system bitmaps
        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

        ; Add buttons
        Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $idHelp
        _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)

        ; create a input box to put in the rebar
        Local $idInput = GUICtrlCreateInput("Input control", 0, 0, 120, 20)

        ;add band containing the control
        _GUICtrlRebar_AddBand($hReBar, GUICtrlGetHandle($idInput), 120, 200, "Name:")

        ; add band containing the control to the beginning of rebar
        _GUICtrlRebar_AddToolBarBand($hReBar, $hToolbar, "", 0)

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

        GUISetState(@SW_SHOW)

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

        While 1
                Switch GUIGetMsg()
                        Case $GUI_EVENT_CLOSE, $idBtnExit
                                Exit
                EndSwitch
        WEnd
EndFunc   ;==>Example

; Write message to memo
Func MemoWrite($sMessage = "")
        GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite