GETSLCTLSTゲットセレクトリスト関数

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

コンボボックス、リストボックス、リストビュー、ツリービューでの選択項目を取得します。

構文
  1. UString = GETSLCTLST( ID, 番号, リストビュー列 )
引数
ID (Integer)必須
Windowを識別するID
番号 (Integer = 1)省略可
左上から数えたエディトコントロールの順番(1から指定)
リストビュー列 (Integer = 1)省略可
リストビュー時のリストビューの列を指定
戻り値
選択されている項目(複数選択されている場合はタブにて結合される)

アイテム名の取得

アクティブウィンドウのCLKITEM関数で操作できる要素を取得します。結果は実行したUWSファイルと同じディレクトリのGETSLCTLST.logに出力されます。

UWSC
OPTION LOGPATH = "GETSLCTLST.log"
OPTION LOGFILE = 6

HASHTBL ITEMS

ITEMS["ITM_LIST"] = "CLK_LIST"
ITEMS["ITM_TREEVIEW"] = "CLK_TREEVIEW"
ITEMS["ITM_LISTVIEW"] = "CLK_LISTVIEW"

FOR sec = 3 TO 1 STEP -1
	FUKIDASI(sec + "秒後にアクティブなウィンドウの情報を取得します。")
	SLEEP(1.000)
NEXT

DIM ID = GETID(GET_ACTIVE_WIN)

PRINT "DIM ID = GETID(<#DBL>" + STATUS(ID, ST_TITLE) + "<#DBL>, <#DBL>" + STATUS(ID, ST_CLASS) + "<#DBL>)"
PRINT

FUKIDASI("「" + STATUS(ID, ST_TITLE) + "」…取得中")

//FOR item IN array
FOR i = 0 TO LENGTH(ITEMS) - 1
	PRINT "//////////////////////////////////////////////////"
	PRINT "// " + ITEMS[i, HASH_KEY]
	PRINT "//////////////////////////////////////////////////"
	PRINT "CLKITEM(ID, " + ITEMS[i, HASH_KEY] + ", -1) = " + GETITEM(ID, EVAL(ITEMS[i, HASH_KEY]), -1)
	FOR j = 0 TO LENGTH(ALL_ITEM_LIST) - 1
		str = ALL_ITEM_LIST[j]
		str = REPLACE(str, "<#CR>", "<@cr>")
		str = REPLACE(str, "<#DBL>", "<@dbl>")
		str = REPLACE(str, "<#TAB>", "<@tab>")
		str = REPLACE(str, CHR(10), "<#DBL>+CHR(10)+<#DBL>")
		str = REPLACE(str, "<@", "<#")
		PRINT "CLKITEM(ID, <#DBL>" + str + "<#DBL>, " + ITEMS[i, HASH_VAL] + ")"
	NEXT
	PRINT
NEXT

使い方

メモ帳のフォントを開き、コンボボックス、リストボックス、リストビュー、ツリービューの項目を取得します。

UWSC
DIM ID = EXEC("notepad")
CLKITEM(ID, "書式\フォント", CLK_MENU)

DIM ID2 = GETID("フォント", "#32770")

DIM i = 1
WHILE TRUE
	DIM str = GETSLCTLST(ID2, i)
	IF str = "" THEN BREAK
	PRINT str
	i = i + 1
WEND

CTRLWIN(ID2, CLOSE)
CTRLWIN(ID, CLOSE)
結果
プレーンテキスト
MS ゴシック
標準
12
日本語

値を設定するにはCLKITEM関数を使います。

UWSC
DIM ID = EXEC("notepad")
CLKITEM(ID, "書式\フォント", CLK_MENU)

DIM ID2 = GETID("フォント", "#32770")

CLKITEM(ID2, "メイリオ", CLK_LIST)
CLKITEM(ID2, "イタリック", CLK_LIST)
CLKITEM(ID2, 18, CLK_LIST)
SLEEP(3.000)
CLKITEM(ID2, "OK", CLK_BTN)

関連記事

CLKITEM関数 (スクリプト関数)
指定したIDのウィンドウのアイテムをクリックします。アイテムに指定できるものにはボタン・チェックボックス・ラジオボタン・リストボックス・コンボボックス・タブコントロール・メニュー・ツリービュー・リストビュー・ツールバー・リンクがあります。
GETITEM関数 (スクリプト関数)
指定したIDのウィンドウのキャプション文字やリストなどを取得します。取得した情報は配列変数のALL_ITEM_LIST[ ]に格納されます。戻値は取得した数でInteger型です。
GETSTR関数 (スクリプト関数)
引数に指定したIDのウィンドウの文字列を取得します。取得した文字列を返します。