GETSLCTLST

COMBOBOX, LISTBOX, ITM_LISTVIEW, ITM_TREEVIEW での選択項目を取得します。

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

プログラム実行例

メモ帳の書式を開き、現在設定されているフォント名・スタイル・サイズ・文字セットを取得

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

DIM i = 1
DIM cnt = 0
REPEAT
	DIM str = GETSLCTLST(ID2, i)
	IFB LENGTH(str) <> 0 THEN
		PRINT i + ":" + str
		cnt = 0
	ELSE
		cnt = cnt + 1
	ENDIF
	i = i + 1
UNTIL cnt >= 10

CTRLWIN(ID2, CLOSE2)
CTRLWIN(ID, CLOSE2)
  1. EXEC
  2. CLKITEM
  3. GETID
  4. GETSLCTLST
  5. LENGTH
  6. CTRLWIN
結果
1:HGS明朝B
2:ボールド
3:12
4:日本語
解説
  1. 1行目
    DIM ID = EXEC("notepad")
    
    メモ帳を開き、IDを取得する。
  2. 2行目
    CLKITEM(ID, "書式\フォント")
    
    [書式]→[フォント]を開く。
  3. 3行目
    DIM ID2 = GETID("フォント")
    
    [フォント]のIDを取得する。
  4. 8行目
    	DIM str = GETSLCTLST(ID2, i)
    
    i番目のセレクトボックスの項目を取得。
  5. 9-14行目
    	IFB LENGTH(str) <> 0 THEN
    		PRINT i + ":" + str
    		cnt = 0
    	ELSE
    		cnt = cnt + 1
    	ENDIF
    
    変数strが0文字でなければ変数strを出力し、変数cntをリセット。0文字ならば変数cntを+1する。
  6. 15行目
    	i = i + 1
    
    変数iを+1する。
  7. 16行目
    UNTIL cnt >= 10
    
    GETSLCTLSTでアイテム数を取得できないので、アイテムを10回連続取得できなかったら終了させる。
  8. 18行目
    CTRLWIN(ID2, CLOSE2)
    
    [フォント]を閉じる。
  9. 19行目
    CTRLWIN(ID, CLOSE2)
    [メモ帳]を閉じる。