GETSLIDER

スライダー(トラックバー、スクロールバー)の値を取得します。

構文
  1. Integer = GETSLIDER( ID, [番号, パラメータ] )
引数
ID
Windowを識別するID
番号
左上からのコントロールの順番 (1から指定)
パラメータ
SLD_POS (0)
値(デフォルト)
SLD_MIN
最小値
SLD_MAX
最大値
SLD_PAGE
1ページ移動量
SLD_BAR
表示が縦か横か 0:横、1:縦
SLD_X
X(クライアント位置)
SLD_Y
Y(クライアント位置)
戻値
取得した値

値(SLD_POS)は0〜(最大値-移動量+1)の範囲を取ります。

プログラム実行例

パソコンの音量を上げる

IFB KINDOFOS() >= 12 THEN
	KBD(VK_VOLUME_UP)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
ENDIF
  1. KINDOFOS
  2. KBD
  3. EXEC
  4. SETSLIDER
  5. GETSLIDER
解説
  1. 1-6行目
    IFB KINDOFOS() >= 12 THEN
    	KBD(VK_VOLUME_UP)
    ELSE
    	ID = EXEC("SNDVOL32.exe /t")
    	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
    ENDIF
    OSがWindows2000以降ならば、音量を上げる。Windows2000よりも前ならば、「SNDVOL32.exe /t」でボリュームコントロールの音量機能のみを起動し、スライダーを調整することで音量を上げる。

パソコンの音量を下げる

IFB KINDOFOS() >= 12
	KBD(VK_VOLUME_DOWN)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) + 10)
ENDIF
  1. KINDOFOS
  2. KBD
  3. EXEC
  4. SETSLIDER
  5. GETSLIDER

マウスカーソル下のスクロールバー情報を取得

SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

WHILE TRUE
	DIM ID = GETID(GET_FROMPOINT_WIN)
	DIM str = ""
	DIM i = 1
	WHILE GETSLIDER(ID, i, SLD_POS) <> ERR_VALUE
		str = str + "[" + i + "]<#CR>"
		str = str + "値:" + GETSLIDER(ID, i, SLD_POS) + "<#CR>"
		str = str + "最小値:" + GETSLIDER(ID, i, SLD_MIN) + "<#TAB>"
		str = str + "最大値:" + GETSLIDER(ID, i, SLD_MAX) + "<#CR>"
		str = str + "移動量:" + GETSLIDER(ID, i, SLD_PAGE) + "<#TAB>"
		str = str + "表示方向:" + GETSLIDER(ID, i, SLD_BAR) + "<#CR>"
		str = str + "X座標:" + GETSLIDER(ID, i, SLD_X) + "<#TAB>"
		str = str + "Y座標:" + GETSLIDER(ID, i, SLD_Y) + "<#CR>"
		str = str + "----------<#CR>"
		i = i + 1
	WEND
	FUKIDASI(TRIM(str))
WEND

//////////////////////////////////////////////////
// 【引数】
// 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE forceQuit()
	EXITEXIT
FEND
  1. SETHOTKEY
  2. GETID
  3. GETSLIDER
  4. FUKIDASI
結果

[1]
値:28
最小値:0 最大値:65
移動量:12 表示方向:1
X座標:0 Y座標:56
----------
[2]
値:0
最小値:0 最大値:15
移動量:11 表示方向:1
X座標:393 Y座標:56
----------
[3]
値:17
最小値:0 最大値:486
移動量:450 表示方向:0
X座標:393 Y座標:56
----------
[4]
値:59
最小値:0 最大値:63
移動量:5 表示方向:1
X座標:0 Y座標:330
----------

ペイントを開いてズームを最小値に設定する

DIM ID = EXEC("mspaint")

PRINT GETSLIDER(ID, SLD_POS)
PRINT SETSLIDER(ID, 0)
  1. EXEC
  2. GETSLIDER
  3. SETSLIDER

ペイントで設定できるズーム倍率を取得

DIM ID = EXEC("mspaint")

SETSLIDER(ID, 0, 0)
PRINT GETSTR(ID, 2, STR_STATIC)

REPEAT
	CLKITEM(ID, "拡大", CLK_BTN)
	PRINT GETSTR(ID, 2, STR_STATIC)
UNTIL GETSLIDER(ID, 0, SLD_POS) = 100

CTRLWIN(ID, CLOSE2)
  1. EXEC
  2. SETSLIDER
  3. GETSTR
  4. CLKITEM
  5. GETSLIDER
  6. CTRLWIN
結果
12.50%
25%
50%
100%
200%
300%
400%
500%
600%
700%
800%