Функция _GUICtrlRebar_HitTest

         Описание функции


_GUICtrlRebar_HitTest

Определяет, какая лента находится в указанных координатах

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

Параметры

$hWnd Дескриптор Rebar
$iX [необязательный] X-координата относительно клиентской области Rebar, или -1 для использования текущего положения курсора мыши
$iY [необязательный] Y-координата относительно клиентской области Rebar, или -1 для использования текущего положения курсора мыши

Возвращаемое значение

Успех:Возвращает массив следующего формата:
[0] - Индекс ленты (отсчёт от 0) в указанной позиции, или -1
[1] - True означает, что позиция в клиентской области Rebar, но не на ленте
[2] - True означает, что позиция в клиентской области Rebar
[3] - True означает, что позиция над заголовком ленты
[4] - True означает, что позиция над chevron ленты (Версия 5.80 and greater)
[5] - True означает, что позиция над элементом изменения размера ленты
Ошибка:Устанавливает @error

Пример

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

$Debug_RB = False

Global $iMemo

_Main()

Func _Main()
    Local $hgui, $hReBar, $hToolbar, $hInput, $aHitTest
    Local Enum $idNew = 1000, $idOpen, $idSave, $idHelp

    $hgui = GUICreate(StringTrimRight(@ScriptName, 4), 400, 396, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_MAXIMIZEBOX))

    ; Создаёт элемент ReBar
    $hReBar = _GUICtrlRebar_Create($hgui, BitOR($CCS_TOP, $WS_BORDER, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS))

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


    ; Создаёт элемент ToolBar, чтобы вставить его в ReBar
    $hToolbar = _GUICtrlToolBar_Create($hgui, BitOR($TBSTYLE_FLAT, $CCS_NORESIZE, $CCS_NOPARENTALIGN))

    ; Добавляет стандартный системный 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

    ; Добавляет кнопки
    _GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW)
    _GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
    _GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
    _GUICtrlToolbar_AddButtonSep($hToolbar)
    _GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)

    ; Создаёт поле ввода, чтобы вставить его в ReBar
    $hInput = GUICtrlCreateInput("Поле ввода", 0, 0, 120, 20)

    ; Добавляет ленту содержащую элемент
    _GUICtrlRebar_AddBand($hReBar, GUICtrlGetHandle($hInput), 120, 200, "Заголовок:")

    ; Добавляет ленту, содержащую элемент, в начало ReBar
    _GUICtrlRebar_AddToolBarBand($hReBar, $hToolbar, "", 0)

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

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

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite