Function Reference

_GUIScrollBars_GetScrollPos

指定されたスクロールバーのスクロールボックス(つまみ)の現在の位置を取得します。

#Include <GuiScrollBars.au3>
_GUIScrollBars_GetScrollPos($hWnd, $nBar)

 

パラメータ

$hWnd ウィンドウのハンドル
$nBar スクロールバーの種類を指定します。このパラメータは次の値のいずれかです:
  $SB_CTL - スクロールバーコントロールのスクロールボックスの位置を取得します。$hWndパラメータはスクロールバーコントロールのハンドルでなければなりません。
  $SB_HORZ - ウィンドウの標準的な水平スクロールバーのスクロールボックス位置を取得します。
  $SB_VERT - ウィンドウの標準的な垂直スクロールバーのスクロールボックス位置を取得します。

 

返し値

成功: スクロールボックスの現在の位置
失敗: -1

 

注意

上記の定数にはScrollBarConstants.au3が必要です。

 

関連

_GUIScrollBars_SetScrollInfoPos

 

こちらも参照

MSDNライブラリでGetScrollPosを検索して下さい。

 


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GUIScrollBars.au3>
#include <ScrollBarConstants.au3>

Opt("MustDeclareVars", 1)

Global $iMemo

_Main()

Func _Main()
    Local $GUIMsg, $hGUI

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

    _GUIScrollBars_Init($hGUI)

    _GUIScrollBars_SetScrollInfoPos($hGUI, $SB_HORZ, 10)
    MemoWrite("Scroll Pos Horizontal: " & _GUIScrollBars_GetScrollPos($hGUI, $SB_HORZ))
    Sleep(1000)
    _GUIScrollBars_SetScrollInfoPos($hGUI, $SB_HORZ, 0)
    MemoWrite("Scroll Pos Horizontal: " & _GUIScrollBars_GetScrollPos($hGUI, $SB_HORZ))
    Sleep(1000)
    _GUIScrollBars_SetScrollInfoPos($hGUI, $SB_VERT, 20)
    MemoWrite("Scroll Pos Vertical: " & _GUIScrollBars_GetScrollPos($hGUI, $SB_VERT))
    Sleep(1000)
    _GUIScrollBars_SetScrollInfoPos($hGUI, $SB_VERT, 0)
    MemoWrite("Scroll Pos Vertical: " & _GUIScrollBars_GetScrollPos($hGUI, $SB_VERT))

    While 1
        $GUIMsg = GUIGetMsg()

        Switch $GUIMsg
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

    Exit
EndFunc   ;==>_Main

; メモコントロールに1行書き込み
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite