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_b33 カラー選択ダイアログ(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 |