指定されたスクロールバーの現在の最大、最小スクロールボックス(つまみ)位置を取得します。
#Include <GuiScrollBars.au3>
_GUIScrollBars_GetScrollRange($hWnd, $nBar)
パラメータ
$hWnd | ウィンドウのハンドル |
$nBar | スクロールバーの種類を指定します。このパラメータは次の値のいずれかです: $SB_CTL - スクロールバーコントロールの位置を取得します。$hWndパラメータはスクロールバーコントロールのハンドルでなければなりません。 $SB_HORZ - ウィンドウの標準的な水平スクロールバーの位置を取得します。 $SB_VERT - ウィンドウの標準的な垂直スクロールバーの位置を取得します。 |
返し値
成功: | 次のフォーマットの指定されたスクロールバーの現在の最大、最小スクロールボックス(つまみ)位置: |
[0] - 最小位置 | |
[1] - 最大位置 | |
失敗: | -1 |
注意
上記の定数にはScrollBarConstants.au3が必要です。
関連
_GUIScrollBars_SetScrollRange
こちらも参照
MSDNライブラリでGetScrollRangeを検索して下さい。
例
#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, $RangeMinMax
$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)
$RangeMinMax = _GUIScrollBars_GetScrollRange($hGUI, $SB_VERT)
MemoWrite("Vertical Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1])
$RangeMinMax = _GUIScrollBars_GetScrollRange($hGUI, $SB_HORZ)
MemoWrite("Horizontal Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1])
Sleep(1000)
_GUIScrollBars_SetScrollRange($hGUI, $SB_VERT, 3, 30)
$RangeMinMax = _GUIScrollBars_GetScrollRange($hGUI, $SB_VERT)
MemoWrite("New Vertical Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1])
Sleep(1000)
_GUIScrollBars_SetScrollRange($hGUI, $SB_HORZ, 10, 98)
$RangeMinMax = _GUIScrollBars_GetScrollRange($hGUI, $SB_HORZ)
MemoWrite("New Horizontal Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1])
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