HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0120
kaiメニューバーの表示4未解決


kai

リンク

2014/1/20(Mon) 22:04:54|NO.59425

プログラムにメニューバーを表示したいのですが・・・

#include "mod_menu.as" #define ctype LOWORD(%1) (%1 & $FFFF) #enum IDM_LOGT #enum IDM_EXIT #enum IDM_VER #enum IDM_READ oncmd gosub *command, $111 ;メニューバー CreatePopupMenu hMenu.2 = stat AppendMenu hMenu.2, 0, IDM_READ, "ReadMeの表示" AppendMenu hMenu.2, 0, IDM_VER, "バージョン情報" CreatePopupMenu hMenu.1 = stat AppendMenu hMenu.1, $8, IDM_LOGT, "ログの記録を停止" AppendMenu hMenu.1, $800, 0, "" // 区切り線 AppendMenu hMenu.1, 0, IDM_EXIT, "終了" CreateMenu hMenu.0 = stat AppendMenu hMenu.0, $10, hMenu.1, "設定" AppendMenu hMenu.0, $10, hMenu.2, "ヘルプ" SetMenu hwnd, hMenu.0 DrawMenuBar hwnd ;中略 *command if lparam = 0 { wID = LOWORD(wparam) if wID = ID_LOGT { dialog "ログの記録を停止しました。",0,"Lock PC" return } if wID = IDM_LOGT { if checkmenu { uCheck = $0 :goto *owari } else { uCheck = $8 :dialog"aa" } CheckMenuItem hMenu.1, IDM_LOGT, uCheck return } if wID = IDM_EXIT { goto *owari return } return *owari end
これを実行すると、
#HSP script preprocessor ver3.32 / onion software 1997-2013(c)
#Use file [hspdef.as]
#HSP code generator ver3.32 / onion software 1997-2013(c)
#未初期化の変数があります(というのが何個か)
test.hsp(193) : error 2 : 文法が間違っています (193行目)
--> checkmenuitem hmenu.1, 0, ucheck
とエラーになってしまいます。
どこが悪いのでしょうか?
メニューバーを初めて使うので、教えてもらえると助かります。
よろしくお願いします。



この記事に返信する


kai

リンク

2014/1/20(Mon) 22:06:20|NO.59427

ちなみに、スクリプトは
http://lhsp.s206.xrea.com/hsp_menu.html
から抜き出したものです。



MillkeyStars

リンク

2014/1/20(Mon) 22:54:32|NO.59432

エラーの内容は、checkmenuitemって命令?変数?文法違うんじゃないの?

ですが。。。
mod_menu.as の方を見た限りだと、CheckMenuItem は命令登録されていないような・・・

あと、if 分を{}で記載するなら、ちゃんと{}で終わるようにしましょう。
閉じられていないエラーになります。



fortunehill

リンク

2014/1/20(Mon) 23:10:06|NO.59435

/*ご参考(下記 3 項目の追加で一応動いた:訂正)*/

#include "user32.as" ; 先頭に追加(メニューAPI命令) ;#include "mod_menu.as"; 注釈化 }} ; if lparam = 0 {に対する"}"を追加 return *owari end



fortunehill

リンク

2014/1/20(Mon) 23:27:49|NO.59437

/*補足:引用されたスクリプトのAPI定義(user32.as)と(mod_menu.as)
 の定義に同名や重複があるので(mod_menu.as)を注釈にしないと動かない。
*/

#include "mod_menu.as" #uselib "user32.dll" #func global AppendMenu "AppendMenuA" int, int, int, str #func global CreatePopupMenu "CreatePopupMenu" #include "user32.as" #uselib "user32.dll" #define global AppendMenu AppendMenuA #func global AppendMenuA "AppendMenuA" sptr,sptr,sptr,sptr #func global CreatePopupMenu "CreatePopupMenu"



ONION software Copyright 1997-2021(c) All rights reserved.