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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1112
サンオブジェクトIDと有効・無効を取得する方法5解決


サン

リンク

2009/11/12(Thu) 11:17:10|NO.28831

何時もお世話になっております。

オブジェクトIDとobjenable命令の有効・無効についての質問なのですが
今現在画面上に配置されている全てのオブジェクトIDと
そのオブジェクトの有効・無効の状態を簡単に取得する事は可能でしょうか?
例えばstat値で0なら無効、1なら有効のような感じで…。
オブジェクトが沢山になってきてオブジェクトを削除したり追加したりしていると
今どのオブジェクトIDが有効・無効なのかを把握するのが中々大変になってしまうので…。
やはりオブジェクト作成・削除とオブジェクトの有効・無効を実行する時に
それぞれを監視する変数を作っておいてその変数から今現在の全オブジェクトIDと
オブジェクトIDの有効・無効を取得するという事になるのでしょうか?

宜しくお願いします。



この記事に返信する


a

リンク

2009/11/12(Thu) 13:44:59|NO.28834

そーれ

#uselib "user32.dll" #func IsWindowEnabled "IsWindowEnabled" int button gosub "ボタン", *label objenable 0, 0 IsWindowEnabled objinfo_hwnd(0) print "無効な場合は…" + stat objenable 0, 1 IsWindowEnabled objinfo_hwnd(0) print "有効な場合は…" + stat stop *label return



SYAM

リンク

2009/11/12(Thu) 15:01:55|NO.28835

オブジェクトの種類なんかもちゃんと考慮したいなら、自分で管理するのが無難です。

もし既にご存知だったら余計な世話ですけれど、コレを知らないと格段に面倒になるでしょうから書いときますと、
オブジェクト配置命令を実行すると、実際に配置されたオブジェクトの ID が statに代入されます。

#プログラミング・マニュアルにさりげなく載ってますが、
#命令ごとのヘルプにもこのことが載ってる方がいいような気がするなー…。



のほほん太

リンク

2009/11/12(Thu) 16:56:52|NO.28838


button "aaaaa",*a button "bbbbb",*a button "ccccc",*a button "ddddd",*a clrobj 1,2 mref bmscr,67 objmax=bmscr(72) repeat objmax objid(cnt)=((objinfo(cnt,0) & $FFFF)!=0) mes objid(cnt) loop stop *a stop
現在のウィンドウに配置された全てのオブジェクトの有無を調べます。
objmaxの数値だけ参照できます。



Kpan

リンク

2009/11/12(Thu) 21:43:33|NO.28849

あえて利用する必要はないですが、
付属のモジュールobj.asのobjgray命令は取得もできるようになってます。
(aさんのIsWindowEnabled関数と同じ



サン

リンク

2009/11/12(Thu) 23:26:53|NO.28853

皆様、コメントありがとうございます。


aさん
スクリプトありがとうございます。
これから早速試させて頂きます。


SYAMさん
>実際に配置されたオブジェクトの ID が statに代入されます。
知りませんでした…。
オブジェクトの追加・削除などをしているとIDを調べるのが少し困難になる時があったのですが
これからはその都度statを調べればよいのですね。


のほほん太さん
スクリプトありがとうございます。
これから早速試させて頂きます。


Kpanさん
付属モジュールobj.asのobjgray命令を見てみたのですが
これだと簡単にオブジェクトの有効・無効が取得出来そうですね。


皆様、コメント本当にありがとうございました。
皆様のコメントを元にこれから早速先に進めて行きたいと思います。
まずはお礼を先にと思いまして…。
また何かありましたらその時は宜しくお願いします。



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