本ページには広告が含まれています。
目次
スライダー(トラックバー、スクロールバー)の値を取得します。
- 構文
- 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座標を表します。
使い方
アクティブウィンドウのスライダーの情報を取得します。
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の場合はボリューム調整ツールを操作することで音量を上げます。
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の場合はボリューム調整ツールを操作することで音量を下げます。
IFB KINDOFOS() >= 12
KBD(VK_VOLUME_DOWN)
ELSE
ID = EXEC("SNDVOL32.exe /t")
SETSLIDER(ID, GETSLIDER(ID, 1) + 10)
ENDIF
使用関数
解説
マウスカーソル下のスクロールバー情報を取得
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]
値: 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)
使用関数
ペイントで設定できるズーム倍率を取得
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関数を使います。