GETSLIDERゲットスライダー関数

本ページには広告が含まれています。

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

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

引数

SLD_POS
スライダーの現在の位置を表します。値は0〜(最大値-移動量+1)の範囲を取ります。
SLD_MAX-SLD_PAGE+1
SLD_MIN
スライダーの最小値を表します。基本的に0を返します。
SLD_MAX
スライダーの最大値を表します。
SLD_PAGE
スライダーの1ページの移動量を表します。スクロールボックスが表示されていない(スクロールするだけのテキストがなく収まっている)場合、スライダーの最大値より1大きい値を返します。例えばスライダーの最大値(SLD_MAX)が50でスクロールボックスが表示されていない場合、1ページ移動量(SLD_PAGE)は51を返します。
SLD_BAR
スライダーのバーの向きを表します。横ならば0縦ならば1を返します。
SLD_X
スライダーのX座標を表します。
SLD_Y
スライダーのY座標を表します。

使い方

アクティブウィンドウのスライダーの情報を取得します。

UWSC
DIM ID = GETID(GET_ACTIVE_WIN)

DIM i = 1
WHILE TRUE
	IF GETSLIDER(ID, i) = ERR_VALUE THEN BREAK
	PRINT i
	PRINT "値<#TAB>" + GETSLIDER(ID, i, SLD_POS)
	PRINT "最小値<#TAB>" + GETSLIDER(ID, i, SLD_MIN)
	PRINT "最大値<#TAB>" + GETSLIDER(ID, i, SLD_MAX)
	PRINT "移動量<#TAB>" + GETSLIDER(ID, i, SLD_PAGE)
	PRINT "縦横<#TAB>" + GETSLIDER(ID, i, SLD_BAR)
	PRINT "X座標<#TAB>" + GETSLIDER(ID, i, SLD_X)
	PRINT "Y座標<#TAB>" + GETSLIDER(ID, i, SLD_Y)
	PRINT "----------"
	i = i + 1
WEND

プログラム実行例

パソコンの音量を上げる

パソコンの音量を上げます。Windows2000以降のOSの場合は仮想キーの操作で音量を上げ、Windows 2000より前のOSの場合はボリューム調整ツールを操作することで音量を上げます。

UWSC
IFB KINDOFOS() >= 12 THEN
	KBD(VK_VOLUME_UP)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
ENDIF
解説

パソコンの音量を下げる

パソコンの音量を下げます。Windows2000以降のOSの場合は仮想キーの操作で音量を下げ、Windows 2000より前のOSの場合はボリューム調整ツールを操作することで音量を下げます。

UWSC
IFB KINDOFOS() >= 12
	KBD(VK_VOLUME_DOWN)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) + 10)
ENDIF
解説

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

UWSC
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
結果
FFFTP
CSV
[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
----------

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

UWSC
DIM ID = EXEC("mspaint")

PRINT GETSLIDER(ID, SLD_POS)
PRINT SETSLIDER(ID, 0)

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

UWSC
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)
結果
プレーンテキスト
12.50%
25%
50%
100%
200%
300%
400%
500%
600%
700%
800%
解説

関連記事

SETSLIDER関数 (スクリプト関数)
スライダー(トラックバー、スクロールバー)の値を設定します。
ACW関数 (スクリプト関数)
指定したIDのウィンドウの位置・サイズを変更します。IDのみを指定した場合、そのウィンドウをアクティブにします。
CHKBTN関数 (スクリプト関数)
指定したIDのウィンドウにあるチェックボックス・ラジオボタンがチェックされているかを返します。
CLKITEM関数 (スクリプト関数)
指定したIDのウィンドウのアイテムをクリックします。アイテムに指定できるものにはボタン・チェックボックス・ラジオボタン・リストボックス・コンボボックス・タブコントロール・メニュー・ツリービュー・リストビュー・ツールバー・リンクがあります。
GETID関数 (スクリプト関数)
指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。UWSCでウィンドウを操作するのによく使う関数です。
GETITEM関数 (スクリプト関数)
指定したIDのウィンドウのキャプション文字やリストなどを取得します。取得した情報は配列変数のALL_ITEM_LIST[ ]に格納されます。戻値は取得した数でInteger型です。
HNDTOID関数 (スクリプト関数)
引数に指定したハンドル値をIDに変換して返します。IDをハンドル値に変換するにはIDTOHND関数を使います。
CTRLWIN関数 (スクリプト関数)
ウィンドウの状態を操作します。ウィンドウを終了、アクティブ化、表示・非表示、最大化・最小化などができます。
GETALLWIN関数 (スクリプト関数)
全ウィンドウのIDを取得します。
IDTOHND関数 (スクリプト関数)
引数に指定したIDをハンドル値に変換して返します。ハンドル値をIDに変換するにはHNDTOID関数を使います。