设置指定滚动控件内滚动框的位置
#Include <GuiScrollBars.au3>
_GUIScrollBars_SetScrollInfoPos($hWnd, $fnBar, $nPos)
$hWnd | 窗口句柄 |
$fnBar | 指定滚动控件的类型. 参数可以是以下值之一: $SB_CTL - 设置滚动控件参数. $hWnd 必须是滚动控件的窗口句柄 $SB_HORZ - 设置窗口的标准水平滚动控件的参数. $SB_VERT - 设置窗口标准垂直滚动控件的参数. |
$nPos | 滚动框的位置 |
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GuiScrollBars.au3>
#include <ScrollBarConstants.au3>
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, 30)
MemoWrite("Horizontal" & @CRLF & "--------------------------------------")
MemoWrite("nPage....: " & _GUIScrollBars_GetScrollInfoPage($hGUI, $SB_HORZ))
MemoWrite("nPos.....: " & _GUIScrollBars_GetScrollInfoPos($hGUI, $SB_HORZ))
MemoWrite("nMin.....: " & _GUIScrollBars_GetScrollInfoMin($hGUI, $SB_HORZ))
MemoWrite("nMax.....: " & _GUIScrollBars_GetScrollInfoMax($hGUI, $SB_HORZ))
MemoWrite("nTrackPos: " & _GUIScrollBars_GetScrollInfoTrackPos($hGUI, $SB_HORZ))
Sleep(3000)
MemoWrite(@CRLF & "Vertical" & @CRLF & "--------------------------------------")
MemoWrite("nPage....: " & _GUIScrollBars_GetScrollInfoPage($hGUI, $SB_VERT))
MemoWrite("nPos.....: " & _GUIScrollBars_GetScrollInfoPos($hGUI, $SB_VERT))
MemoWrite("nMin.....: " & _GUIScrollBars_GetScrollInfoMin($hGUI, $SB_VERT))
MemoWrite("nMax.....: " & _GUIScrollBars_GetScrollInfoMax($hGUI, $SB_VERT))
MemoWrite("nTrackPos: " & _GUIScrollBars_GetScrollInfoTrackPos($hGUI, $SB_VERT))
_GUIScrollBars_SetScrollInfoPos($hGUI, $SB_HORZ, 0)
While 1
$GUIMsg = GUIGetMsg()
Switch $GUIMsg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
Exit
EndFunc ;==>_Main
; 写入一行到 memo 控件
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite