過去の桐井戸端BBS (桐ver.9)
18041 メッセージボックスのコマンドでEscキーの制御はできるのでしょうか。 とみた 2002/11/25-12:23
みなさまには、いつもお世話になります。とみたです。
早速なんですが、一括処理でメッセージボックスのコマンドを使って、
Escキーの制御は、できるのでしょうか。
確認のコマンドですと制御できますが、メッセージボックスではどうなんでしょうか。
どなたか教えてください。よろしくお願いします。

18047 Re:メッセージボックスについて 郷司 2002/11/25-16:54
記事番号18041へのコメント
こんにちは、とみたさん。

管理人さんからのお知らせは見事に無視してバージョンは書かれていませんが、
V9のHELPには次のように載っています。
おそらくV8も同じだろうと思います(未確認です)のでやってみて下さい。

メッセージボックス
タイトルバーの[×]ボタンまたは[Esc]キーを押したときは、「ボタン指定=」に応じて
つぎの値を返します。

ボタン指定 戻り値
  1    1
  2    2
  3    なし([×]ボタンと[Esc]キーは使用できません)
  4    2
  5    7
  6    2
18048 Re:メッセージボックスについて KH 2002/11/25-16:57
記事番号18041へのコメント
>早速なんですが、一括処理でメッセージボックスのコマンドを使って、Escキーの制
>御は、できるのでしょうか。確認のコマンドですと制御できますが、メッセージボ

マニュアルを御覧になれば解りますが、一部のボタン指定確か3の中止、再試行、無視の時だけESCが
効かないと思いましたが。
18071 できました。 とみた 2002/11/27-09:51
記事番号18041へのコメント
ありがとうございました。
できました。Escキーを押すと1が変数に入りました。
そのままOKの扱いになってました。おはずかしい・・・。
18072 Re:できました。・・・? KH 2002/11/27-12:17
記事番号18071へのコメント
>ありがとうございました。できました。Escキーを押すと1が変数に入りました。そのまま

私の勘違いかも知れませんが、メッセージボックスコマンドで、ESCキーを押した時は
キャンセルか中止(記憶が定かではありません)と同じで2か3あたりだと思いましたが?
1はOKの場合に代入される値ではなかったでしょうか?

18077 Re:メッセージボックスの返り血 悲しげ 2002/11/27-16:56
記事番号18072へのコメント
どもっ、KHさん、
<Esc>を押しても1が入ると云うことは、
とみたさんがやっているのはボタン指定=1ってことではないでしょうか?
この場合は、郷司さんが仰るとおり、OK・キャンセル・×釦、<Enter>・<Esc>キー何れの場合でも
返って来る値は1だけとなるようです。
例えば次のような一括処理で確認できます。(「釦」は「ぼたん」と読みます)

var 長整数{&msg}
msgbox "test1","<Esc>キーを押せ",アイコン=i,ボタン指定=1,制御文字展開=する,&msg
確認 #str(&msg)
msgbox "test2","<Enter>キーを押せ",アイコン=i,ボタン指定=1,制御文字展開=する,&msg
確認 #str(&msg)
msgbox "test3","OK釦を押せ",アイコン=i,ボタン指定=1,制御文字展開=する,&msg
確認 #str(&msg)
*msgbox "test4","キャンセル釦を押せ",アイコン=i,ボタン指定=1,制御文字展開=する,&msg
*確認 "スマソ、この場合はキャンセル釦は無かったね"
msgbox "test5","×釦を押せ",アイコン=i,ボタン指定=1,制御文字展開=する,&msg
確認 #str(&msg)

ps:
タイトルは正しくは「返り値」です。msimeを使うようになってから
数ヶ月ですが、このimeのタコさ加減はかなりのもんですね。(;_;)
18082 Re:メッセージボックスの返り値 悲しげ 2002/11/27-21:24
記事番号18077へのコメント
ただし、<Esc>キーを押しても他のキーを押しても変数の値として
「1」しか返って来ないような状態にあって「Escキーの制御」の意味があるのか?
との疑念は未解決です。>とみたさん
「メッセージボックス」コマンドで、<Esc>キーでの変数の返り値が意味を持つのは、
ボタン指定のパラメータが1と3以外の場合に限られるような気がします。
でも、#18071で「1」と書いたのは単なる誤記で、変数に入ってたのは
本当は「2」だったと云うなら話は別です。(^^;)

ちなみに、本格的に「Escキーの制御」を行うには、「キーダウン」イベントを使うことになろうかと思います。

戻る