HSP3 プログラミングの基礎U
前へ 目次へ 次へ 

(3) ダイアログ

 ダイアログとは、メッセージの表示、簡単な確認やYes/Noなどの問い合わせを行うウィンドウのことである。Windows標準の「ファイルを開く」などの入力操作を伴うダイアログもある。
 ダイアログは「対話」という意味で、コンピュータから人間に何かを伝えるときにメッセージを表示するために使われる。

dialog 文字列, タイプ, オプション
 指定したタイプのダイアログを表示する。
 タイプは次の通りである。
タイプ  ダイアログ システム変数 stat システム変数 refstr
0  標準メッセージボックス + [OK]ボタンである。  1 = [OK]ボタン 空(から)
1  警告メッセージボックス + [OK]ボタンである。
2  標準メッセージボックス + [はい][いいえ]ボタンである。  6 = [はい]ボタン
 7 = [いいえ]ボタン
3  警告メッセージボックス + [はい][いいえ]ボタンである。
16  ファイルOPEN(開く)ダイアログである。  1 = 正常
 0 = 異常
 ファイル名
17  ファイルSAVE(保存)ダイアログである。
32  カラー選択ダイアログ(固定色)である。
 システム変数
ginfo_r, ginfo_g, ginfo_b
33  カラー選択ダイアログ(RGBを自由に選択)である。


メッセージのダイアログ

サンプル標準のダイアログを表示する。

    mes "画面中央にダイアログが表示されます。"
    dialog "ダイアログです。"
    mes "OKボタンがクリックされました。"
    mes stat
    mes "[" + refstr + "]"
    stop

実行メインのウィンドウにメッセージが表示され、ダイアログが開く。[OK]ボタンをクリックするとメインのウィンドウに2つ目のメッセージとシステム変数stat, refstrの値が表示される。

 ダイアログが表示されている間、処理は停止するようである。
 [OK]ボタンをクリックしても、閉じるボタンをクリックしてもシステム変数statは1、refstrは空(から)である。

試してみよう警告のダイアログに変更する。

    mes "画面中央にダイアログが表示されます。"
    dialog "ダイアログです。", 1
    mes "OKボタンがクリックされました。"
    mes stat + ",[" + refstr + "]"
    stop

実行標準のダイアログと同じである。

試してみよう[はい]、[いいえ]のボタン付きのダイアログを表示する。

    mes "画面中央にダイアログが表示されます。"
    dialog "ダイアログです。", 2
    mes "ボタンがクリックされました。"
    mes stat + ",[" + refstr + "]"
    stop

実行ダイアログの[はい]ボタンをクリックするとシステム変数statは6、[いいえ]ボタンをクリックするとシステム変数statは7である。システム変数refstrの値はなしである。

 [はい]、[いいえ]ボタンでシステム変数statの値が違うので、if文で処理の流れを変えることができる。



ファイルのダイアログ

サンプルファイルを開くのダイアログを表示する。

    mes "メインのウィンドウ上にダイアログが表示されます。"
    dialog "hsp", 16
    mes "ボタンがクリックされました。"
    mes stat
    mes "[" + refstr + "]"
    stop

実行
 ファイル名"dialog1.hsp"で保存してから実行する。
 ファイルを開くのダイアログが表示される。dialog命令のメッセージに指定した拡張子"hsp"が働き、HSPのプログラムファイルだけがリストに表示される(ファイル名(N)の入力欄には「*.hsp」と表示されている)。

 ファイル名を選択して[開く(O)]ボタンをクリックするとシステム変数statには1、refstrにはファイル名が格納される。[キャンセル]や閉じるボタンをクリックするとシステム変数statには0が格納される。refstrは空である。

試してみようdialog命令のオプションを指定する。

    mes "メインのウィンドウ上にダイアログが表示されます。"
    dialog "hsp", 16, "HSPソース"
    mes "ボタンがクリックされました。"
    mes stat
    mes "[" + refstr + "]"
    stop

実行

 ファイルの種類(T)の入力欄にdialog命令のオプションで指定していした説明が表示される。

 

サンプルHSPソースファイルを読み込み、メッセージボックスに表示する。

    sdim text, 1000
    notesel text
    mesbox text, 320, 240
    x = ginfo_cx    ;カレントポジション
    y = ginfo_cy
    button "LOAD", *load
    x = x + 64
    pos x, y
    button "CLEAR", *clear
    x = x + 64
    pos x, y
    button "END", *owari
    stop
*load
    dialog "hsp", 16, "HSPソース"
    noteload refstr
    objprm 0, text
    stop
*clear
    objprm 0, ""
    stop
*owari
    end

実行選択したHSPソースがメッセージボックスに表示される。



カラーのダイアログ

サンプルカラーのダイアログを表示する。

    mes "メインのウィンドウ上にダイアログが表示されます。"
    dialog "", 32
    mes "ボタンがクリックされました。"
    mes stat
    mes "R=" + ginfo_r + " G=" + ginfo_g + " B=" + ginfo_b
    stop

実行[OK]ボタンをクリックするとstatは1、ginfo_r, ginfo_g, ginfo_bにそれぞれ128が格納される。

 

サンプルクリックした位置に円を描画する。色を選択できるようにする。

    onclick *maru
    button "カラー選択", *irod
    stop
*irod
    dialog "", 32
    color ginfo_r, ginfo_g, ginfo_b
    stop
*maru
    circle mousex - 10, mousey - 10, mousex + 10, mousey + 10
    stop

実行クリックした位置に円が黒色で描画される。色を選択するとその色で描画される。

 onclick命令は、クリックされたときに移動するラベルを設定する。「(3) 入力◎クリック割り込み」参照
 mousex, mouseyはマウスポインタの座標が格納されるシステム変数である。

 

前へ 目次へ 次へ 
2006  © Hiroshi Masuda 

 

 

inserted by FC2 system