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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0307
名無しボタンをクリックすると現れる点線を消す方法6解決


名無し

リンク

2013/3/7(Thu) 17:38:38|NO.52757


buffer 1
color 255,0,0:boxf
gsel 0
objimage 1
pos 0,0:button "",*test
*test

カスタムボタンをクリックすると、ボタンに四角い点線(?)が現れます。これを消すにはどうすればいいのでしょうか? mouseとgetkeyを使って擬似的にボタンを作る方法も考えたのですが、このボタンは複数使うため、処理が遅くなってしまいます。 回答よろしくお願いいたします。



この記事に返信する


名無し

リンク

2013/3/7(Thu) 18:14:09|NO.52763

preの場所間違えていたので修正しましたm(__)m

buffer 1 color 255,0,0:boxf gsel 0 objimage 1 pos 0,0:button "",*test *test


カスタムボタンをクリックすると、ボタンに四角い点線(?)が現れます。これを消すにはどうすればいいのでしょうか?
mouseとgetkeyを使って擬似的にボタンを作る方法も考えたのですが、このボタンは複数使うため、処理が遅くなってしまいます。
回答よろしくお願いいたします。



@key

リンク

2013/3/7(Thu) 18:15:07|NO.52764

カスタムボタンの仕様です
そのウィンドウスタイルを抜けばいいのかもしれないけど自分にはわからないです


いやなら自分で作れって話になるので・・・
別にきちんと作れば重くなったりしません



名無し

リンク

2013/3/7(Thu) 18:49:50|NO.52768


buffer 1,50,50 boxf gsel 0 repeat 10 pos cnt*60,0:gcopy 1,0,0,50,50 loop 左クリック=0 repeat 100000 repeat 10 getkey 左クリック,1 if mousex>=0&mousey>=0&mousex<=0+50&mousey<=50&左クリック=1:title "1をクリック" if mousex>=60&mousey>=0&mousex<=60+50&mousey<=50&左クリック=1:title "2をクリック" if mousex>=120&mousey>=0&mousex<=120+50&mousey<=50&左クリック=1:title "3をクリック" if mousex>=180&mousey>=0&mousex<=180+50&mousey<=50&左クリック=1:title "4をクリック" if mousex>=240&mousey>=0&mousex<=240+50&mousey<=50&左クリック=1:title "5をクリック" if mousex>=300&mousey>=0&mousex<=300+50&mousey<=50&左クリック=1:title "6をクリック" if mousex>=360&mousey>=0&mousex<=360+50&mousey<=50&左クリック=1:title "7をクリック" if mousex>=420&mousey>=0&mousex<=420+50&mousey<=50&左クリック=1:title "8をクリック" if mousex>=480&mousey>=0&mousex<=480+50&mousey<=50&左クリック=1:title "9をクリック" if mousex>=540&mousey>=0&mousex<=540+50&mousey<=60&左クリック=1:title "10をクリック" loop await loop Dialog
試しに作ってみました。見難くてすみません><
11行~20行のifはcntとループを使って短くしても良かったのですが、
実際に使う場合はボタンの位置がバラバラなので使いませんでした。(そもそも短くして処理速度が変わるのだろうか)

このボタンがあるだけで10万回ループすると5秒ほど遅くなりました。
あと実際のプログラムに組み込むとなると少し複雑になり管理が面倒に・・・



暇人

リンク

2013/3/7(Thu) 19:25:46|NO.52769

押してる間だけ点線が出るけど・・・

buffer 1 color 255,0,0:boxf gsel 0 objimage 1 pos 0,0:button "",*test stop *test button_id= stat objenable button_id,0 objenable button_id,1 a++ mes a


NO.52768のはちょっとやり方が良くない
クリックしたときだけ判定すれば良いし
ボタンの位置が固定じゃないなら配列使って管理すれば良い
総当りで判定しなくても区画別けして判定回数は減らせるかも知れない

処理時間軽減はやりたい事の全体が分からないと方法は出てこない
(出ても使えない可能性が高いから・・・)



ht.

リンク

2013/3/7(Thu) 20:03:35|NO.52776

モジュール化して配列で処理するのが一般的だと思いますが
無精するならbgscrで子ウインドウを作ってcnclickでボタンのように動かすとか…。



名無し

リンク

2013/3/7(Thu) 20:15:01|NO.52777

ソースコードありがとうざいます!

なるほど!色々と効率がいい方法があるんですね!色々試してみます。
この質問は解決にします。暇人さん、ht.さん、@keyさん、ありがとうございましたm(__)m



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