メニューバーの操作がうまくいきません。
;以下ソース。
#include "user32.as"
#uselib "user32"
#const global WM_COMMAND 0x111
#enum IDM_NULL =0
#enum IDM_EXIT
#enum IDM_MESSAGE
#enum IDM_GOOGLE
onexit *exit
bgscr 0
Createpopupmenu:hm_menu = stat
AppendMenu hm_menu,0,IDM_EXIT,"終了(&Q)"
AppendMenu hm_menu,0,IDM_MESSAGE,"メッセージ(&M)"
CreateMenu :hm_main = stat
AppendMenu hm_main,0x10,hm_menu,"メニュー(&M)"
AppendMenu hm_main,0,IDM_GOOGLE,"Google(&G)"
AppendMenu hm_main,0,IDM_MINI,"最小化"
AppendMenu hm_main,0,IDM_MES,"メッセージボックス"
SetMenu hwnd,hm_main
DrawMenuBar hwnd
oncmd gosub *oncmd_wm_command,WM_COMMAND
stop
*exit
// 作成したメニューは必ず任意に削除
DestroyMenu hm_main // 親メニューを破棄すれば、関連付けられたすべてのメニューが破棄される為これだけでよい。
end
stop
*oncmd_wm_command
wID = wParam & 0xFFFF;
if(lparam==0){
if(wid==IDM_EXIT){
goto*exit
}else:if(wid==IDM_MESSAGE){
dialog "仮メッセージ"
}else:if(wid==IDM_GOOGLE){
exec "http://www.google.co.jp/",16
}else:if(wid==IDM_MINI){
gosub*mini
}else:if(wid==IDM_MES){
dialog "test"
}
}
return
*mini
; SC_MINIMIZE 最小化
gsel 0:sendmsg hwnd, $112, $F020
gsel 0,0
return
実行してみると、
メニューバーには
メニュー Google 最小化 メッセージボックス
とありますが
メッセージボックスを出力できてないみたいです。
解決策などあれはアドバイスお願いします