listget

リストビューのアイテムを取得

listget v1,n2,n3,n4

v1 : 取得したものを入れる変数
n2 : アイテムのインデックス
n3 : 取得するもの
n4 : 取得するアイテムの状態

(プラグイン / モジュール : llmod3)

解説

主にアイテムのインデックスを取得します。
n3で以下の値を代入すると取得するものが変わってきます。


n3の値                               n4の値
1   n2の上のアイテムのindexを取得    0 or 取得するアイテムの状態
2   n2の下のアイテムのindexを取得    0 or 取得するアイテムの状態
3   n2の左のアイテムのindexを取得    0 or 取得するアイテムの状態
4   n2の右のアイテムのindexを取得    0 or 取得するアイテムの状態
5   n2のテキスト取得                 変数のサイズ or -1
6   n2のアイテムに持たせた値を取得   0 or 1


n3を5にしたときはstatにアイテムに持たせた値が入ります。
n3を5にしたときn4を-1にすると、v1に入っている文字列を使ってアイテムのテキストを再設定できます。
n3を6にしたときn4を1にすると、v1に入っている値を使ってアイテムに持たせた値を再設定できます。

n4を以下の値にするとn4で指定した状態のアイテムを(n2+1)番目のアイテムからn3で指定した方向に向かって検索します。(n3を0にすると方向は指定しません)
n4の状態のアイテムが見つかればv1にアイテムのインデックスが代入されます。
見つからなかった場合はv1に-1が代入されます。
n2を-1にすると先頭のアイテムから検索します。


n4の値
0    状態は指定しない
1    フォーカスがあっている
2    選択されている
4    切り取られた状態
8    ハイライト

サンプル

	#include "llmod3.hsp"
	#include "listview.hsp"
	listview winx-6,winy/2,1
	lv=stat
	listaddcl 0,"name"
	repeat 30 : listadd cnt,"アイテム No."+cnt : loop
	button "check",*check
	alloc bf,1024*32 : bf=""
	mesbox bf,winx-6,winy-csry-26
	_objsel lv
	stop
*check
	bf="" : notesel bf : start=-1	;先頭から検索
	repeat -1
		listget chk,start,0,2	;選択状態のアイテムを探す
		if chk=-1 : break	;見つからない場合-1が代入される
		listget s,chk,5		;見つかったアイテムのテキストを取得
		noteadd s+"は選択されています"
		start=chk
	loop
	objprm 1,bf
	stop

関連項目

listaddリストビューにアイテムを追加(llmod3)
listviewリストビューの作成(llmod3)

情報

プラグイン / モジュールllmod3
バージョン3.3
作成日2009/08/01
著作者tom
URLhttp://www5b.biglobe.ne.jp/~diamond/hsp/hsp2file.htm
備考llmod3.hspをインクルードする。必要に応じてlistview.hsp,progbox.hsp,trackbox.hsp,treebox.hsp,udbtn.hspをインクルードする
タイプ拡張命令
グループオブジェクト制御命令
hs ファイルhsphelp\llmod3_objects.hs