;================================================================================ ;モジュール msgdlg ;ver 1.0 ; メッセージダイアログ ; llmod.asが必要です ;================================================================================ ; msgdlgモジュール命令一覧 ; ; msgdlg 拡張dialog ; ; 計 1個 ;使い方 ;================================================================================ ; msgdlg "s1","s2",n3,n4 拡張dialog(type 0〜3 ) ; ; s1 : メッセージが入った文字列変数または文字列 ; s2 : タイトルが入った文字列変数または文字列 ; n3 : タイプ ; n4 : アイコンタイプ ;================================================================================ ; ;<>説明 ; HSPのdialog命令の拡張版です。 ; ; タイプ ; 0 Ok ; 1 Ok キャンセル ; 2 中止 再試行 無視 ; 3 はい いいえ キャンセル ; 4 はい いいえ ; 5 再開試行 キャンセル ; ; アイコンタイプ ; 0 アイコン無し ; 1 エラー(x) ; 2 クエスチョンマーク(?) ; 3 警告(!) ; 4 情報(i) ; 5 EXEが持っているアイコン ; ;<>この命令を呼び出した後のstatの値 ; 値 選択されたボタン ; 1 Ok ; 2 キャンセル ; 3 中止 ; 4 再試行 ; 5 無視 ; 6 はい ; 7 いいえ ; -1 エラー発生 ; ;<>例 ; msgdlg "今日はここで終了しますか?","プログラムの終了",3,5 ; if stat=6 : dialog "はい が選択されました" ; if stat=7 : dialog "いいえ が選択されました" ; if stat=2 : dialog "キャンセル が選択されました" ; ;<>備考 ; タイプに以下の値を加えるとデフォルトボタンが変えられます。 ; 0 ボタン1 ; $100 ボタン2 ; $200 ボタン3 ; アイコンタイプに以下の値を加えるとビープ音が変えられます。 ; 0 高い音(ノーマル) ; $100 警告音 ; ;module始め>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #module "msgdlg" ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ;msgdlg ;................................................................................ #deffunc msgdlg str,str,int,int mref msg,32 ;メッセージ mref capt,33 ;キャプション mref type,2 ;MessageBoxのタイプ mref ico,3 ;MessageBoxのアイコンタイプ mref stt,64 strlen a,msg : if a>=64 : sdim lcl_msg,a+1 strlen a,capt : if a>=64 : sdim lcl_capt,a+1 lcl_msg=msg ;保存しておかないとまずい lcl_capt=capt a=0 if ico&$100 : a=$30 : ico=ico-$100 dllproc "MessageBeep",a,1,D_USER prm.0=40 _get_active_window a prm.1=a _get_instance a prm.2=a getptr prm.3,lcl_msg getptr prm.4,lcl_capt if ico=5 : ico=$80 : else ico=ico<<4 prm.5=type+ico s = "HSP2" getptr prm.6,s getptr p,prm dllproc "MessageBoxIndirectA",p,1,D_USER p=stat alloc lcl_msg,64 alloc lcl_capt,64 stt=p return #global ;module終わり>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>