モーダルダイアログというのは、
のように、「マントヒヒ」と表示されたダイアログを出してから、[OK]ボタンが押されるまで、実行を停止して待ちつづける、というようなものです。
「マントヒヒ」と、言う。
ひまわりには、ユーザーからの入力を受け付けるダイアログが、数種類用意されています。
選択ダイアログ ダイアログ 言う ?と メッセージボックスに、文字を表示する 12 尋ねる ?と 入力ダイアログを表示して、文字列を入力してもらい、答えをそれに得る 10 二択 ?と はい、いいえで、質問し、「それ」に、答えを返す 40 三択 ?と はい、いいえ、キャンセルで、質問し、「それ」に、答えを返す 160 どれか尋ねる ?が,?の ?(表示メッセージ)が,選択肢?(選択肢は|で区切る)のどれか尋ねる選択ダイアログを出し、それに答えを返す。 264 リストから選択 ?を,?の ?(表示メッセージ)を,選択肢?(選択肢は|で区切る)のどれかリストから尋ねる選択ダイアログを出し、それに答えを返す 301 ボタンで選択 ?を,?の ?(表示メッセージ)を,選択肢?(選択肢は\nで区切るか配列変数)のどれか尋ねる選択ダイアログを出し、それに答えを返す 309 メモ記入 ?の メモ帳を表示して、文章を入力してもらい、答えを、それに得る。 265 色選択 色を選択するダイアログをだし、「それ」に、色番号を返す 103 フォント選択 フォントを選択するダイアログをだし、「それ」に、フォント名を返す 312 ファイルフォルダ 読込ファイル選択 ?の ?形式のファイルを、選択するダイアログをだし、「それ」に、ファイル名を返す 41 書込ファイル選択 ?の ?形式のファイルを、選択するダイアログをだし、「それ」に、ファイル名を返す 42 フォルダ選択 フォルダを選択するダイアログを出し、「それ」に返す 169
ver.1.24以前のバージョンでは、キャンセルをボタンを押すと、「」(文字なし)が返されていましたが、それでは不便な局面もありますので、『ダイアログキャンセルの値=(適当な文字)』と、設定しておくことで、キャンセルボタンを押した時の動作をチェックできるようにしました。
ダイアログキャンセルの値 = 「キャンセルだよ〜」
「大漁ですか?」と、尋ねる。
それを、表示。
ver.1.30以降のバージョンでは、ダイアログの入力エディタの、IME状態を設定できるようになりました。『ダイアログIMEの状態=(IME状態)』と、設定します。
設定できるIMEの状態は、
の、5種類です。
IMEオフ/IMEオン/IMEひらがな/IMEカタカナ/IME半角カタカナ
ダイアログIMEの状態 = IMEカタカナ’IMEをカタカナに設定
「カタカナで入力」と、尋ねる。
表示。
『尋ねる』『どれか尋ねる』『リストで選択』のダイアログでは、ダイアログの値の初期値を、設定しておくことが出来ます。これは、『ダイアログ初期値=初期値』のように設定します。
ダイアログ初期値=「リンゴ」
「好きな食べ物は?」と、尋ねる。
表示。
ここでは、細かい設定が出来る命令だけ説明します。
この2つの命令は、ファイルの選択ダイアログを表示します。
引数には、「txt」や「mid」などの、拡張子を指定します。
ひまわりの慣例通り、命令の結果は、「それ」に返されます。
「txt」の、読込ファイル選択。
それを、表示。
それでは、「htm」と「html」の、両方の拡張子のファイルを選択したい場合は、どうしたら良いでしょうか。
これは、「拡張子の説明|拡張子のフィルタ|拡張子の説明|拡張子のフィルタ|・・・」のように、半角の|で、説明と、フィルタを区切って記述して行きます。
この、拡張子のフィルタのところへ、必要なだけ、フィルタ;フィルタ;...と、書いていけばよいのです。
以下は、HTMLファイルと、PNGファイルを切り替えるファイル選択ダイアログを表示します。
「HTMLファイル|*.htm;*.html|PNGファイル|*.png」の、読込ファイル選択。
それを、表示。
また、この命令は、作業フォルダを、選択初期ディレクトリとして、開きますので、マイドキュメントを、初期ディレクトリとして開きたい場合は、
と、書きます。
マイドキュメントのパスへ、作業フォルダ変更。
『txt』の,読込ファイル選択。
それを、表示。
それから、案外重宝しそうなのが、「どれか尋ねる」命令です。
これは、複数の選択肢を指定して呼び出すことで、リストボックス付きのダイアログを表示します。
以下の例は、りんごと、ばななと、いちごの、どれかを、選択するようなダイアログを表示します。
「好きな食べ物は?」が、「りんご|ばなな|いちご」の、どれか尋ねる。
それを、表示。
さて、以下の例は、ちょっと面白い使い方です。
まず、1行目で現在Windowsで使われている、ウインドウのタイトルを列挙します。
1:
2:
3:
4:ウインドウ列挙。
「\n」を、「|」に、置換。
「キャプチャーするのはどれ?」が,それの, どれか尋ねる。
それを、窓キャプチャー。
次に、2行目で、改行記号を、|に置換しています。これで、3行目の、「どれか尋ねる」の、選択肢を作ったわけです。
そして、3行目で尋ね、4行目で、そのウインドウをキャプチャーして、母艦に描画するというものです。
※基本的に、「どれか尋ねる」と、「リストから選択」は、同じですが、どれか尋ねるは、選択のとき、ユーザーが選択肢以外のものを入力することが出来るという違いがあります。