; メニューバーsample ; http://quasiquote.org/hspwiki/ ; thanks ちょくと さん ; http://yokohama.cool.ne.jp/chokuto/urawaza/menu1.html ; http://yokohama.cool.ne.jp/chokuto/urawaza/menu2.html #include "mod_menu.as" ; メニューアイテムIDを定義 #enum global NULL=0 ; NULL #enum CMD_OPEN ; [開く]アイテムのID #enum CMD_SAVE ; [保存]アイテムのID #enum CMD_QUIT ; [終了]アイテムのID #enum CMD_MESS ; [表示]アイテムのID ; メッセージ割り込み oncmd gosub *OnCommand, WM_COMMAND onexit gosub *OnExitMess ; ポップアップメニューの作成 ; [ファイル]メニュー newmenu hfilemenu,1 ; サブメニュー作成 addmenu hfilemenu, "開く(&O)", CMD_OPEN ; 開く addmenu hfilemenu, "保存(&S)", CMD_SAVE ; 保存 addmenu hfilemenu, "", NULL, 0x800 ; セパレータ addmenu hfilemenu, "終了(&Q)", CMD_QUIT ; 終了 ; [ヘルプ]メニュー newmenu hhelpmenu,1 ; サブメニュー作成 addmenu hhelpmenu, "表示(&M)", CMD_MESS ; 表示 ; メニューバーの作成 newmenu hmenu,0 ; メニュー作成 addmenu hmenu, "ファイル(&F)", hfilemenu, 0x10 ; ファイル addmenu hmenu, "ヘルプ(&H)", hhelpmenu, 0x10 ; ヘルプ addmenu hmenu, "終了(&Q)", CMD_QUIT ; 終了 applymenu hmenu ; メニュー割り当て stop ; メッセージの処理 *OnCommand switch (wparam & 0xFFFF) case CMD_OPEN ; 開く dialog "*", 16 if stat = 1 { dialog refstr + "を開きました", 0, "テスト" } swbreak case CMD_SAVE ; 保存 dialog "*", 17 if stat = 1 { dialog refstr + "を保存しました", 0, "テスト" } swbreak case CMD_QUIT ; 終了 ; ( Send だと終了できないので注意 ) PostMessage hwnd, WM_CLOSE, 0, 0 swbreak case CMD_MESS ; 表示 dialog "メニュー作成のテストです", 0, "メッセージ表示" swbreak default swbreak swend return *OnExitMess dialog "終了しますか?", 2, "確認" if stat = 6 { end } return