4 返信 最新の回答 日時: Dec 9, 2004 8:43 AM ユーザー:(koma)

    登録したメニューを削除もしくは非表示にしたい。

    Level 1
      FDKに関する質問なのですが、
      以下のように追加したメニューをメニューから削除もしくは
      表示されないようにしたいのですがどうしたらいいのでしょうか?

      F_ObjHandleT mainMenuId = F_ApiGetNamedObject( FV_SessionId, FO_Menu, (StringT)"!MakerMainMenu" );

      // メニューを定義し、 Main Menu に それを挿入
      F_ObjHandleT menuId;
      menuId = F_ApiDefineAndAddMenu( mainMenuId, (StringT)"ExtraMneu", (StringT)"Extra" );
      F_ApiDefineAndAddCommand(CMD_EXTRA_PROTECTON, menuId, (StringT)"PROTECTON", (StringT)"Protect On", NULL );
      F_ApiDefineAndAddCommand(CMD_EXTRA_PROTECTOFF, menuId, (StringT)"PROTECTOFF", (StringT)"Protect Off", NULL );

       
        • 1. Re: 登録したメニューを削除もしくは非表示にしたい。
          Level 1
          k-maru様。

          追加されたメニュー自体を削除したいのであれば、
          DLLを削除するか、AddCommandをしなければ良いですよね。
          ん〜、何をしようとしているのか、ちょっと理解できないんですが…?

          【補足】
          Addcommnadしたメニュー項目は、
          条件(例えば、表が選択されている時とか)をつけて、グレー表示にする制御はできます。
          全く表示しないようにっていう方法は、知りません…。
          • 2. Re: 登録したメニューを削除もしくは非表示にしたい。
            Level 1
            ymgc さんいつもありがとうございます。

            Windowsのコンポーネントだと enable とか visble というプロパティがあるものなのですが、
            FDKの FO_Menu は違うようで、まだどうもなれてません。

            構造化アプリケーション毎に使えるメニューを変えたい場合に、
            個々のMenuItem を変更したいのです。
            もしくは
            デバックモード/通常モードで、表示されるメニューを変えたい。
            といったことを実現したいのです。
            • 3. Re: 登録したメニューを削除もしくは非表示にしたい。
              Level 1
              k-maru様。

              F_ApiDeleteでいけるかな?とちょっと思いましたが…無理そうです。
              (ちゃんと試していませんが)

              FO_Commandに対しては、enable/disableの制御が出来ます。
              かかえている全FO_Commandがdisableだと、FO_Menuもdisableになります。
              (FrameMaker起動時に「表」というメニューがdisableになってますよね?あの感じです。)

              そうですね…。
              文書に指定されているアプリケーション定義を判定して、
              メニュー項目のenable/disableを切り替えでそんな感じになるかなぁ、と思います。
              後は…邪道ではありますが、コマンドはそのままで表示ラベルを変えたり、とか?

              デバックモード/通常モードっていう切り分けはDLLの事ですか?
              コンパイラの設定等で切り替えられると思いますが。
              (↑これは、FDKに限らず…っていう話です)
              • 4. Re: 登録したメニューを削除もしくは非表示にしたい。
                Level 1
                ymgc様情報ありがとうございます。
                FO_Command に対する enable の設定が、
                FO_Menu にも影響するという情報は助かりました。

                この件について調べていて疑問に思った点を別スレッドで質問しますので
                よろしくお願い致します。