私はダイアログを表示するのにこんな感じのモジュールを使っています。
/*
mes_dialog p1,p2,p3,p4,p5,p6
どのパラメータも省略可能で、()内は省略時のデフォルト値です。
p1("") : ダイアログに表示するメッセージ
p2(0) : 表示するボタンの種類
0 … [OK]のみ
1 … [OK][キャンセル]
2 … [中止][再試行][無視]
3 … [はい][いいえ][キャンセル]
4 … [はい][いいえ]
5 … [再試行][キャンセル]
6 … [キャンセル][再試行][続行]
p3(0) : 表示するアイコン
0 … なし
1 … ×マーク
2 … ?マーク
3 … !マーク
4 … "i"マーク
p4("") : タイトルに表示する文字列
p5(0) : デフォルトのボタンを0〜2で指定
p6(0) : その他のオプション
0 … なし
1 … 右から表示
2 … 閉じるまで最前面に表示し続ける
3 … 上の二つを両方採用
実行後、statには押されたボタンに対応する値が入ります。
1 … [OK]
2 … [キャンセル](もしくは右上の[X])
3 … [中止]
4 … [再試行]
5 … [無視]
6 … [はい]
7 … [いいえ]
*/
#include "user32.as"
#module
#define global mes_dialog(%1="",%2=0,%3=0,%4="",%5=0,%6=0) _mes_dialog %1,%2,%3,%4,%5,%6
#deffunc _mes_dialog str s,int type,int icon,str c,int def,int other
x= limit(type,0,6)*0x1 + limit(icon,0,4)*0x10 + limit(def,0,2)*0x100
x+=((other&1)!=0)*0x80000 + ((other&2)!=0)*0x40000
MessageBox hwnd,s,c,x
return stat
#global
//使用例
mes_dialog "あいうえお",4,4,"かきくけこ",1,2
mes stat