HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0919
くにlistviewのチェック状態を取得できない2解決


くに

リンク

2009/9/19(Sat) 14:52:59|NO.27779

ヘルプに書いてあったコードを使ってもうまく取得できなかったので、
他にやり方ないでしょうか?




#include "llmod3\\llmod3.hsp" #include "llmod3\\img.hsp" #include "llmod3\\listview.hsp" screen 0, 400, 380 listview 300, 200, $40003 // チェックボックス付きのリスト表示リストビュー list_id = stat // リストビューIDを取得 listadd 0, "アイテムNo.0" objsize 240, 30 pos 0,240 button gosub "チェック状態を確認する", *_chk stop *_chk ;list_id : listviewのID ;idx : アイテムのインデックス idx=0 prm=list_id,4140,idx,61440 sendmsg prm chk=stat>>12-1 if chk : dialog ""+idx+"番目のアイテムはチェックされています" return



この記事に返信する


a

リンク

2009/9/19(Sat) 16:25:26|NO.27780

まず sendmsg の第一引数はウィンドウハンドルなので
list_hwnd = objinfo_hwnd(list_id)

としてウィンドウハンドルを取得しておく。 そして
prm=list_id,4140,idx,61440
これは
prm(0) = list_id : prm(1) = 4140 : prm(2) = idx : prm(3) = 61440

と解釈されますので、sendmsg prm は第一引数に配列変数を指定しているだけになっている。 なのでこれと、さっきのウィンドウハンドルを渡すように修正して、
sendmsg list_hwnd,4140,idx,61440



くに

リンク

2009/9/19(Sat) 17:35:20|NO.27781

ヘルプに書いてあるsendmsgの記述方法が、
HSP2.6のままで、更新されてないのね。
うまく取得できました。ありがとう(*^−^)


#include "llmod3\\llmod3.hsp" #include "llmod3\\img.hsp" #include "llmod3\\listview.hsp" screen 0, 400, 380 listview 300, 200, $40003 // チェックボックス付きのリスト表示リストビュー list_id = stat // リストビューIDを取得 list_hwnd = objinfo_hwnd(list_id) // リストビューのハンドル取得 repeat 30 listadd cnt, "アイテムNo."+cnt loop mes_txt="" objsize 240, 30 pos 0,240 button gosub "チェック状態を確認する", *_chk stop *_chk repeat 30 sendmsg list_hwnd,4140,cnt,61440 chk=stat-4096 if chk { mes_txt+="No."+cnt+"\n" } loop dialog "チェックされているリスト\n"+mes_txt mes_txt="" return



ONION software Copyright 1997-2023(c) All rights reserved.