> FILEメニューとEXECメニュー
> FILEメニューやEXECメニューを階層化するには
> > FILEメニューとEXECメニュー> まったく同じです。了解しました。 私の理解がだいたい合っていたということで安心しました。> ですから,ファイラーで呼び出すマクロを指定する必要があると思います。こちらは理解できていません。 というか、試行錯誤した結果。 どうやら、私はメニューそのものを理解していなさそうだ、ということが判明。 例えば、vzfl.defで 8 "",15,8 "C コピー copy %1 %2" "D 削除 del " "X 実行 %1 %2" "A 比較(Asc) fc %1 %2" "B 比較(Bin) fc /b %1 %2" "E コマンドライン", #H "F File menu", #F &30 とやっても、30番マクロを呼び出せるわけではないようですね。 具体的には、どのように記述すればよいのでしょうか。 簡単なサンプルを提示していただくわけにはいきませんでしょうか。 お手数をおかけしますが、なにとぞよろしくお願いします。
> 例えば、vzfl.defで>> 8 "",15,8中略> "F File menu", #F> &30通常のメニューであればコマンドやマクロをそのまま登録できますし, 子メニューを呼ぶこともできますが,システムメニューは動作が限定され ていますので,このような記述はできません。おそらくシンタックスエラー になるのではないでしょうか。> > ファイラーで呼び出すマクロを指定する必要があると思います。これは例えば,ファイラーイベントでキーを受けるか,ファイラーで 有効なマクロキーを割り当てるなどして,ファイラーのローカルマクロか 外部マクロを呼び出す指定をしなければならないということです。 具体的には, 1 "!Filer" ;中略 (r)>!{ O>O U>U Z>Z } .:O (fg.0)?#93 ?#W &s #P &?(fl..0+34) &d #m #93 ;same dir dst .:U fs^=5, :u #U (fg.0)?{ &s #93 &d #U #93 } ;Name/New u:refresh .:Z &z("qview"[) >* &Zd(r]) ;qview by Hiro. . ローカルマクロを指定するなら別途適当な位置に追加することになります が,この例ではラベルジャンプをローカルマクロへのジャンプのごとく 使っています。外部マクロも呼べます。 ファイラーイベントで受けるキーは,アルファベットのほかに記号も 受けることができます。キーコードで受けるのではなく文字コードとして 受け取るからです。さらに,特殊文字(コントロールコード)入力用の コマンド(製品版では ^P )を生かしてあれば,^P+'A'で ^A(01H)のよう にコントロールコードを受けることができます。ただし,0AHなんかは 出力できませんけど。
> このような記述はできません。おそらくシンタックスエラー
> になるのではないでしょうか。
> とりあえず、階層メニューは不可能ではないが、自分が考えていたのよりはるかに複雑な設定が必要であるということがわかりました。
> Execメニューを普通のマクロメニューに置き換えて階層メニューに
> このように、#F や #E を、>F と >E に置き換えて、
としきさん> 試してみたいと思います。すみません、漏れがありました。 sp+=2, (r)>?{ >F #L #M #P #S >V #W #+ #> #< #O >E } の下の ; E #E ;Exec menu ; F #F ;File menu をコメントにしてください。あと、 * S システムメニュー の8番と13番は使わなくなるので、メモリの無駄にならないように削除か コメントにしたほうがいいかも。 あ、File menu はそのままにしておいて、Exec menu だけマクロ化して 階層メニューにしたほうがメモリの節約になるかもしれませんね。 あと、システムメニューをマクロメニューに置き換えると、メニューの 渡り歩きが出来なくなりますが、問題ないですよね。 和生さんは対処していたようですが、私は挫折しました。 う〜ん、私のVZFL.DEFは2011/3/05が最終更新で、それ以降いじってなかった ですが、私のもまだまだ無駄が多いので見直してみます。
> sp+=2, (r)>?{ >F #L #M #P #S >V #W #+ #> #< #O >E }
> の下の
> ; E #E ;Exec menu
> ; F #F ;File menu
> をコメントにしてください。あと、
> あと、システムメニューをマクロメニューに置き換えると、メニューの
> 渡り歩きが出来なくなりますが、問題ないですよね。
> あ、File menu はそのままにしておいて、Exec menu だけマクロ化して
> 階層メニューにしたほうがメモリの節約になるかもしれませんね。
> * S システムメニュー
> の8番と13番は使わなくなるので、メモリの無駄にならないように削除か
> コメントにしたほうがいいかも。
> あと、システムメニューをマクロメニューに置き換えると、メニューの
> 渡り歩きが出来なくなりますが、問題ないですよね。
> 私のところでは、既にコメントになっていました。
> それにもかかわらず、今まで使えていたのはなぜだろう。
> 「"E Exec menu", !02」とすれば新しいポップアップメニューのほうが表示されるかと思いきや、そうは問屋がおろしてくれませんでした。
> 逆に、従来のシステムメニュー8番で「"F File menu", #F」としていた部分は、そのままポップアップメニューのほうで同じように書いたら、そのままきちんとFile menuに移行してくれました。
> システムメニューからポップアップメニューを呼ぶことは難しいのでしょうか。
> システムメニューからポップアップメニューを呼ぶという意味ですね。それは普通には無理でしょう。
> 私にはわかりません。めざらさんの提示された方法はどうなんでしょうか。
> 自分の実力以上に複雑な感じで遠慮させていただきます。
>横から失礼しますが、私のVZFL.DEFではExecメニューを普通のマクロメニュー
>に置き換えて階層メニューにしてますよ。置き換えは簡単です。
>いまだにVZマクロを語り合えるというのも、ある意味すごいことですね。