K_LV_CHK_GET
「K_LV_CHK_GET」は、リストビューのチェックボックスの状態を調べる命令です。
このページでは、文字処理に特化したHSP用モジュール命令セット「k_listview_chk」の命令を解説しています。
【書式】
val = K_LV_CHK_GET ( p1 , p2 )
p1 : あらかじめ作成したlistviewのハンドル
※ハンドルは以下のようにして取得しておきます
listview 180,180,$50009 //チェック付きリストビューを作成 id=stat //IDを取得 hnd=objinfo_hwnd(id) //ハンドルを取得
p2 : リストビューのアイテムのインデックス
※repeat〜loop命令の中で使う場合はここにcntを入れます。
【解説】
「K_LV_CHK_GET」は、HSPに同梱されているオブジェクト拡張モジュール「llmod3」の「listview.hsp」でリストビューを作成する際、オプションで指定できるチェックボックスがどのような状態にあるか調べることができる命令です。
- チェックボックスにチェックが入っていたら1を返します。
- チェックボックスにチェックが入っていない場合は0を返します。
- 何らかのエラーが発生した場合は-1を返します。
「K_LV_CHK_GET」を使用する際には、あらかじめ「llmod3.hsp」「listview.hsp」の2つをインクルードし、チェックボックス付きのリストボックスを作成していることが動作前提となります。
※残念ながら「listview」命令で書かれているチェックの方法は、古いバージョンのHSP用のため、現状では動作しません。その代わりにこの「K_LV_CHK_GET」命令をお使いくださいませ。
また、チェックボックスの状態を変更するには「K_LV_CHK_FLG」命令をお使いください。
【サンプル】
//HSPのフォルダ「common」内からモジュール読み込み #include "llmod3/llmod3.hsp" #include "llmod3/listview.hsp" #include "k_listview_chk.hsp" //リストビューコントロールの作成 listview 180,180,$50009 //リストビューを作成 id_listview=stat //リストビューのID hwnd_listview=objinfo_hwnd(id_listview) // リストビューのハンドル listaddcl 0,"タイトル",160 //リストビューに欄を追加 //リストビューの中身 txt_list={"あいうえお.txt かきくけこ.txt さしすせそ.txt たちつてと.txt なにぬねの.txt"} //リストビューに表示 sel_listview id_listview //操作するリストビューを選択 notesel txt_list : idx=notemax repeat idx noteget txt_name,cnt listadd cnt,txt_name,,, await loop //ボタンの表示 pos 2,185 : button "状態チェック",*action stop //------------------------------------------------------ *action //チェックボックスの状態を調べる repeat idx A=-1 A=K_LV_CHK_GET(hwnd_listview,cnt) //チェックボックスの状態を調べる if A=1 {//チェックが入っている dialog ""+cnt+"番目のアイテムはチェックされています",0,"A="+A } if A=0 {//チェックが入っていない dialog ""+cnt+"番目のアイテムはチェックされていません",0,"A="+A } await loop stop
【関連項目】
- K_LV_CHK_FLG … リストビューのチェックボックスの状態を変更する (k_listview_chk)