Функция _GUIScrollBars_GetScrollInfo

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


_GUIScrollBars_GetScrollInfo

Извлекает параметры полосы прокрутки

#include <GuiScrollBars.au3>
_GUIScrollBars_GetScrollInfo($hWnd, $fnBar, ByRef $tSCROLLINFO)

Параметры

$hWnd Дескриптор окна
$fnBar Тип полосы прокрутки. Этот параметр может быть одним из следующих значений:
    $SB_CTL - Извлекает параметры ScrollBars. Параметр $hWnd должен быть дескриптором ScrollBars.
    $SB_HORZ - Извлекает параметры стандартной горизонтальной полосы прокрутки окна.
    $SB_VERT - Извлекает параметры стандартной вертикальной полосы прокрутки окна.
$tSCROLLINFO Структура $tagSCROLLINFO

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

Успех:Возвращает True
Ошибка:Возвращает False

Примечания

Для выше указанных констант необходим ScrollBarConstants.au3

См. также

_GUIScrollBars_GetScrollInfoEx, $tagSCROLLINFO, _GUIScrollBars_SetScrollInfo

См. также

Искать GetScrollInfo в библиотеке MSDN

Пример

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GuiScrollBars.au3>
#include <ScrollBarConstants.au3>

Global $iMemo

_Main()

Func _Main()
    Local $GUIMsg, $hGUI, $tSCROLLINFO = DllStructCreate($tagSCROLLINFO)

    $hGUI = GUICreate("ScrollBar Example", 400, 400, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX))
    $iMemo = GUICtrlCreateEdit("", 2, 2, 380, 360, BitOR($WS_HSCROLL, $WS_VSCROLL))
    GUICtrlSetResizing($iMemo, $GUI_DOCKALL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetBkColor(0x88AABB)

    GUISetState()

    _GUIScrollBars_Init($hGUI)

    DllStructSetData($tSCROLLINFO, "cbSize", DllStructGetSize($tSCROLLINFO))
    DllStructSetData($tSCROLLINFO, "fMask", $_SCROLLBARCONSTANTS_SIF_ALL)
    _GUIScrollBars_GetScrollInfo($hGUI, $SB_HORZ, $tSCROLLINFO)
    MemoWrite("Horizontal" & @CRLF & "--------------------------------------")
    MemoWrite("nPage....: " & DllStructGetData($tSCROLLINFO, "nPage"))
    MemoWrite("nPos.....: " & DllStructGetData($tSCROLLINFO, "nPos"))
    MemoWrite("nMin.....: " & DllStructGetData($tSCROLLINFO, "nMin"))
    MemoWrite("nMax.....: " & DllStructGetData($tSCROLLINFO, "nMax"))
    MemoWrite("nTrackPos: " & DllStructGetData($tSCROLLINFO, "nTrackPos"))

    DllStructSetData($tSCROLLINFO, "cbSize", DllStructGetSize($tSCROLLINFO))
    DllStructSetData($tSCROLLINFO, "fMask", $_SCROLLBARCONSTANTS_SIF_ALL)
    _GUIScrollBars_GetScrollInfo($hGUI, $SB_VERT, $tSCROLLINFO)
    $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hGUI, $SB_VERT)
    MemoWrite(@CRLF & "Vertical" & @CRLF & "--------------------------------------")
    MemoWrite("nPage....: " & DllStructGetData($tSCROLLINFO, "nPage"))
    MemoWrite("nPos.....: " & DllStructGetData($tSCROLLINFO, "nPos"))
    MemoWrite("nMin.....: " & DllStructGetData($tSCROLLINFO, "nMin"))
    MemoWrite("nMax.....: " & DllStructGetData($tSCROLLINFO, "nMax"))
    MemoWrite("nTrackPos: " & DllStructGetData($tSCROLLINFO, "nTrackPos"))

    While 1
        $GUIMsg = GUIGetMsg()

        Switch $GUIMsg
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

    Exit
EndFunc   ;==>_Main

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