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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0427
たこツリービューのアイテムの状態7解決


たこ

リンク

2008/4/27(Sun) 12:42:33|NO.15433

指定したリストビューのアイテムの状態を取得したいのですが、
やり方がわかりません。
取得したい情報は、
指定したアイテムが選択されているかと
親アイテムなら、展開されているかです



この記事に返信する


Kpan

リンク

2008/4/27(Sun) 13:44:29|NO.15435

リストビュー? ツリービュー?

ツリービューならTVM_GETITEMメッセージで。



たこ

リンク

2008/4/27(Sun) 14:03:31|NO.15436

はい、ツリービューです
TVM_GETITEMでやれることは実は知ってました(本当です)
でも、TVITEM構造体のstatとstatMaskがよくわからないんです



ANTARES

リンク

2008/4/27(Sun) 14:56:35|NO.15438

>指定したアイテムが選択されているかと
 TVGN_CARETを指定してTVM_GETNEXTITEMメッセージを送ると
現在選択されているアイテムが取得できるようなので、
それと比べては?

>親アイテムなら、展開されているか
 以前作ったスクリプトでは自分で管理しているみたいなんで、
取得する方法はないのかも。



flory

リンク

2008/4/27(Sun) 16:34:37|NO.15443

いやいや、スレ主の言うとおり、TVITEM構造体のstatメンバを取得すればできますよ〜。
ちなみに、アイテムの状態を取得するだけならstatMaskは関係なし。


#uselib "comctl32.dll" #func InitCommonControls "InitCommonControls" InitCommonControls ;コモンコントロール初期化 winobj "SysTreeView32", "", 0, $50800027, 320, 240 ;ツリービュー設置 hTree = objinfo(stat, 2) ;ハンドル取得 szText = "親アイテム1" tvinsertstruct = 0, 0, $1, 0, 0, 0, varptr(szText) sendmsg hTree, $1100, 0, varptr(tvinsertstruct) ;アイテム追加 hItem.0 = stat ;ハンドル取得 szText = "子アイテム1" tvinsertstruct = hItem.0, 0, $1, 0, 0, 0, varptr(szText) sendmsg hTree, $1100, 0, varptr(tvinsertstruct) hItem.1 = stat szText = "子アイテム2" tvinsertstruct = hItem.0, hItem.1, $1, 0, 0, 0, varptr(szText) sendmsg hTree, $1100, 0, varptr(tvinsertstruct) hItem.2 = stat button gosub "状態取得", *GetTreeItemState stop *GetTreeItemState tvitem = $8, hItem, 0 sendmsg hTree, $110C, 0, varptr(tvitem) ;"親アイテム1"の状態を取得する itemstat = tvitem.2 & 0x00FF if itemstat & $2 : statSel = 1 : else : statSel = 0 if itemstat & $20 : statUnFold = 1 : else : statUnFold = 0 dialog "選択状態 = "+statSel+"\n展開状態 = "+statUnFold return

なにをやっているかは自分で考えるべし。



たこ

リンク

2008/4/27(Sun) 20:25:48|NO.15450

返答、ありがとうございます。
取得方法はわかりました
ところで、それとは逆にTVM_SETITEMというのがありますよね。
それをTVM_GETITEMと似たような感じに送信してもチェック(展開)されません。
どういうふうにやればいいのでしょうか?



flory

リンク

2008/4/27(Sun) 21:54:44|NO.15451

選択・展開は状態取得よりも楽だと思うんですがね。

http://www.setsuki.com/hsp/src_30/treeview.as

要はTVM_SELECTITEMメッセ−ジとTVM_EXPANDメッセージを使えばいいんです。



たこ

リンク

2008/4/27(Sun) 23:47:31|NO.15459

そんなメッセージがあったんですか…
調べ不足でした。

回答してくださった方、ありがとうございます



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