弐条海月の とはずがたり

そこはかとなく書き綴るブログなるもの

K_LV_CHK_FLG

「K_LV_CHK_FLG」は、リストビューのチェックボックスの状態を変更する命令です。

このページでは、文字処理に特化したHSP用モジュール命令セット「k_listview_chk」の命令を解説しています。


【書式】

K_LV_CHK_FLG p1 , p2 , p3

p1 : あらかじめ作成したlistviewのハンドル

※ハンドルは以下のようにして取得しておきます

		listview 180,180,$50009	//チェック付きリストビューを作成
		id=stat			//IDを取得
		hnd=objinfo_hwnd(id)		//ハンドルを取得

p2 : リストビューのアイテムのインデックス

※repeat〜loop命令の中で使う場合はここにcntを入れます。

p3 : 変更したいチェックボックスの状態(1 or 0)

※1がオンの状態、0がオフの状態です。


【解説】

「K_LV_CHK_FLG」は、HSPに同梱されているオブジェクト拡張モジュール「llmod3」の「listview.hsp」でリストビューを作成する際、オプションで指定できるチェックボックスの状態をオンまたはオフに変更することができる命令です。

リストビューのアイテムのチェックボックスのチェック状態を設定します。

  • チェックを入れる場合はp3に1を指定します。
  • チェックを外す場合にはp3に0を指定します。

「K_LV_CHK_FLG」を使用する際には、あらかじめ「llmod3.hsp」「listview.hsp」の2つをインクルードし、チェックボックス付きのリストボックスを作成していることが動作前提となります。

※残念ながら「listview」命令で書かれているチェックオン/オフの方法は、古いバージョンのHSP用のため、現状では動作しません。

その代わりにこの「K_LV_CHK_FLG」命令をお使いくださいませ。

また、チェックボックスの状態をしらべるには「K_LV_CHK_GET」命令をお使いください。


【サンプル】


   //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

	//ボタンの表示
	objsize 48,24
	pos 75,185 : button "全選択",*action2
	pos 130,185 : button "全解除",*action3
stop

//------------------------------------------------------

*action2
	//dialog "全選択"
	repeat idx
		A=-1
		A=K_LV_CHK_GET(hwnd_listview,cnt)	//チェックボックスの状態を調べる

		if A = 0 {//チェックが入っていない
				//dialog ""+cnt+"番目のアイテムはチェックされていません",0,"a(3)="+a(3)
				K_LV_CHK_FLG hwnd_listview,cnt,1	//チェックを入れる
		}
		await
	loop
stop

//------------------------------------------------------



【関連項目】


コメントは受け付けていません。

固定ページ

最近の投稿

カテゴリー





カレンダー

2017年12月
« 11月    
 123
45678910
11121314151617
18192021222324
25262728293031

過去の日記はこちら

キーワードで検索