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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0227
HSPのたまご選択されたボタンのエンタ―処理12解決


HSPのたまご

リンク

2015/2/27(Fri) 06:47:48|NO.67550

選択されたボタンをエンタ―で処理に飛ばしたいんです。

いくつかのボタンがあって、選択されたボタンがエンタ―された時にボタンに応じた処理に飛ばすにはどうすればいいですか?



この記事に返信する


HSPのたまご

リンク

2015/2/27(Fri) 06:53:34|NO.67553

因みに、ボタンはTABで選択している時です。
よろしくお願いします。



KA

リンク

2015/2/27(Fri) 06:54:56|NO.67554

これも変な日本語に成っていますが、取りあえずボタンのヘルプや
サンプルを見て下さい。



HSPのたまご

リンク

2015/2/27(Fri) 07:02:01|NO.67555

KAさん
buttonのヘルプは読んだのですが、enterを押した時どのbuttonを押しているのかを知る方法がわかりませんでした。

変な日本語ごめんなさい。
日本に住んで8年になりますが、外国人なのでまだ日本語がヘタです。
申し訳ないです。



SOU1

リンク

2015/2/27(Fri) 10:37:15|NO.67557

buttonはgosub/returnで利用するのが便利です。
どうしても押されたボタンを取得したければ
gosubで飛んだ先に変数に何か値を入れる等して判定は出来ますが、
「どのボタンが押されたか」で考えるのではなく
「このボタンが押された場合の処理を書く」と考えたほうが良いかと思います。



KOMARI

リンク

2015/2/27(Fri) 16:54:50|NO.67564

HSP Document Libraryにかいてあります。

ボタンが押された時にジャンプして実行されるプログラムでは、システム変数statの初期値としてオブジェクトIDが代入されます。
せっかくなのでソースもはっておきます。

repeat 10 button "button "+cnt,*test //if (cnt==0) : clrobj 0 //コメントアウトを外すと・・・? loop stop *test dialog "button "+stat+"が押されました!"



mamo

リンク

2015/2/27(Fri) 18:09:21|NO.67565

エンターが押された時にアクティブになっているオブジョクトを調べる。でいいのかな。
「アクティブなオブジェクト」がキーワード



y.tack

リンク

2015/2/27(Fri) 19:41:38|NO.67566

> HSPのたまごさん
外国人のHSPユ−ザー少ないっぽいんで 頑張ってくださいね
英語でHSPの情報発信とか
反響多そうですね



暇人

リンク

2015/2/27(Fri) 20:43:17|NO.67568

Enterが押された時に選択されてるオブジェクトIDを取得して
ボタンのジャンプ先に行く

onkey goto *key button gosub "button "+0,*test0 test_label(stat)=*test0 //ラベルを配列に代入 button gosub "button "+1,*test1 test_label(stat)=*test1 //ラベルを配列に代入 button gosub "button "+2,*test2 test_label(stat)=*test2 //ラベルを配列に代入 stop *key if iparam = 13 {//13=Enterの文字コード objsel -1 //現在選択中のボタンオブジェクトのIDをstatに取得 if stat>=0 {gosub test_label(stat)} } stop *test0 mes "button 0が押されました!" return *test1 mes "button 1が押されました!" return *test2 mes "button 2が押されました!" return



GENKI

リンク

2015/2/28(Sat) 02:19:06|NO.67573

つまり
> 因みに、ボタンはTABで選択している時です。
ボタンにフォーカスを当てた状態で…

> 選択されたボタンをエンタ―で処理に飛ばしたいんです。
…キーボードのエンターキーを押して、押されたボタンに対応したサブルーチンにジャンプしたい。
という事でしょうか?

この操作方法なら特別な処理は必要ありません。普通にボタン作ればいいだけです。
HSPのボタンはごく普通のGUIボタンなので、フォーカス当ててればエンターキーでクリックできます。

もしかして、複数あるボタンのジャンプ先がどれも同じにしている、とかでしょうか?



UM

リンク

2015/2/28(Sat) 08:57:24|NO.67575

>HSPのボタンはごく普通のGUIボタンなので、フォーカス当ててればエンターキーでクリックできます。
試したらわかるけどできない。
スペースにしか反応しない。



GENKI

リンク

2015/2/28(Sat) 14:10:30|NO.67580

> 試したらわかるけどできない。
> スペースにしか反応しない。

ごめんなさい。
どうやら思い込みで回答してしまっていました。確認不足でした。
暇人さんのonkeyを使った方法がベストだと思います。



HSPのたまご

リンク

2015/2/28(Sat) 15:40:26|NO.67581

暇人さんのサンプルで問題は解決しました。

みなさんありがとう!!!

外人といっても英語圏内じゃないんですよー。

感謝。



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