◀ANSI版開発トップへ
  • 2165 開く(ドロップダウン)
    • 2166 RE: 開く(ドロップダウン)
      • 2175 RE2: 開く(ドロップダウン)
        • 2177 RE3: 開く(ドロップダウン)
        • 2178 Re3: 開く(ドロップダウン)
          • 2179 Re4: 開く(ドロップダウン)
            • 2180 Re5: 開く(ドロップダウン)
              • 2181 Re6: 開く(ドロップダウン)
                • 2184 Re7: 開く(ドロップダウン)
                  • 2185 Re8: 開く(ドロップダウン)
                    • 2186 Re9: 開く(ドロップダウン)
                      • 2188 Re10: 開く(ドロップダウン)
            • 2192 Re5: 開く(ドロップダウン)
              • 2210 Re6: 開く(ドロップダウン)
                • 2211 Re7: 開く(ドロップダウン)
                  • 2217 Re8: 開く(ドロップダウン)
  • [2165] 開く(ドロップダウン) みく 2002年06月15日 08:19


    ツールバーに「開く...(ドロップダウン)」を置けるようにしました。
    #ツールバー以外で使うと通常の「開く...」です。

    →dropdown0615.tgz
    (ssrc_2002-06-05.tar.bz2 + diff0608.zip + diff0612plus.tgz に対するパッチ)

    ツールバーでドロップダウンを使えるように拡張スタイルを使用するため、
    このドロップダウンが動作するのは以下のOSバージョンのみと思います。
    W2K/98以降
    NT/95+IE4以降
    これ以外の機種ではドロップダウンが押せないと思います(未確認)。

    ビルドについては CMenuDrawer.hで#ifndefで定義してますのでどのOSで
    もできるはずです。
    • [2166] RE: 開く(ドロップダウン) みく 2002年06月15日 08:23


      あと、ソースには検索ボックスをツールバーに貼り付けるための
      修正の一部が入ってますがコンボボックスへのキー操作がうまく
      動かないのでコメントアウトしてます。
      #多分CEditWndにイベントを取られてるんだろう。

      誰かヘルプ。


      質問:
      CEditWnd::MessageLoopにHokanMgrのイベント処理のためのif文
      がいくつも書かれてるんですが意味あるんですか?
      • [2175] RE2: 開く(ドロップダウン) みく 2002年06月17日 19:06


        >あと、ソースには検索ボックスをツールバーに貼り付けるための
        >修正の一部が入ってますがコンボボックスへのキー操作がうまく
        >動かないのでコメントアウトしてます。
        >#多分CEditWndにイベントを取られてるんだろう。

        解決しました。
        来週くらいにはできるかも。
        • [2177] RE3: 開く(ドロップダウン) みく 2002年06月18日 19:35


          開く(ドロップダウン)と検索(ボックス)をツールバーに置けるようにしました。

          →dropdown0618.zip
          (ssrc_2002-06-05.tar.bz2 + UniBE0605-0607.zip + diff0608.zip + diff0612plus.tgz + macfix.zip + makefile.zip に対するパッチ)
        • [2178] Re3: 開く(ドロップダウン) げんた 2002年06月18日 21:12

          [ファイル]-[開く]は既存のアイコンにドロップダウンを付ければ,新規にコマンドコードを用意する必要はないのでは?と言うほど単純ではないのでしょうか.

          あと,検索ボックスの横に次を検索・前を検索ボタンを置いてあるとき,
          ボックスに文字を入力→何気なく次を検索→古い文字列が検索される
          というのはどうなんでしょう?
          とは言うもののキーを押されたかボタンを押されたかの判定が今のところできないからボタンの場合だけ特別扱いは無理か.
          • [2179] Re4: 開く(ドロップダウン) みく 2002年06月18日 21:41

            >タイトル: Re4: 開く(ドロップダウン)
            >発言者: げんた
            >[ファイル]-[開く]は既存のアイコンにドロップダウンを付ければ,新規にコマンドコードを用意する必要はないのでは?と言うほど単純ではないのでしょうか.

            ドロップダウンはOSバージョン依存なので一応分けてます。
            ドロップダウンが嫌な人もいるかもしれないし。。。

            >あと,検索ボックスの横に次を検索・前を検索ボタンを置いてあるとき,
            >ボックスに文字を入力→何気なく次を検索→古い文字列が検索される
            >というのはどうなんでしょう?
            >とは言うもののキーを押されたかボタンを押されたかの判定が今のところできないからボタンの場合だけ特別扱いは無理か.

            検索ボックスからフォーカスがはずれるときに、表示中の文字列を検索
            キーワードに設定するようにしましょうか。
            • [2180] Re5: 開く(ドロップダウン) みく 2002年06月19日 18:43


              バグ発見:
              検索ボックスにフォーカスがあるときに、ツールバーまたはメニューから
              何か処理を行うとキャレットが消えます。

              #そもそもShowEditCaret()が怪しいような気もする。
              #m_nCaretWidth=0ならDestroyCaret状態なのだろうが、
              #矛盾が起きる処理がある。


              >>あと,検索ボックスの横に次を検索・前を検索ボタンを置いてあるとき,
              >>ボックスに文字を入力→何気なく次を検索→古い文字列が検索される
              >>というのはどうなんでしょう?
              >>とは言うもののキーを押されたかボタンを押されたかの判定が今のところできないからボタンの場合だけ特別扱いは無理か.
              >
              >検索ボックスからフォーカスがはずれるときに、表示中の文字列を検索
              >キーワードに設定するようにしましょうか。

              ボタンを押したときはコンボボックスにWM_KILLFOCUSが発生しないので、面倒そう。
              • [2181] Re6: 開く(ドロップダウン) みく 2002年06月19日 19:12


                >バグ発見:
                >検索ボックスにフォーカスがあるときに、ツールバーまたはメニューから
                >何か処理を行うとキャレットが消えます。

                修正しました。
                →dropdown0619.zip
                • [2184] Re7: 開く(ドロップダウン) みく 2002年06月19日 21:01


                  >あと,検索ボックスの横に次を検索・前を検索ボタンを置いてあるとき,
                  >ボックスに文字を入力→何気なく次を検索→古い文字列が検索される
                  >というのはどうなんでしょう?

                  動作の違うサンプルを
                  http://www.geocities.co.jp/SiliconValley-SanJose/3299/
                  にお試し版ということで2種類置きました。

                  ・検索ボックスからフォーカスがはずれると前の検索キーワードに戻る。
                  ・検索ボックスからフォーカスがはずれると、そのときの文字列を検索キーワードにしてしまう。
                  dropdown0619.zipソース中では、CEditWnd.cpp中1940行目の
                  #if 0をはずして有効にしてください。

                  どっちが使いやすそうかご確認ください。
                  • [2185] Re8: 開く(ドロップダウン) ai 2002年06月20日 14:01


                    お試し版を使用しています。
                    ドロップダウンをクリックした際に下のようなメッセージが出続ける時があります。

                    CMenuDrawer::MyAppendMenu()エラー
                    CMenuDrawerが管理できるメニューアイテムの上限はCMenuDrawer::MAX_MENUITEMS==300です。

                    また、メニューに表示されているファイルと違うファイルが開かれることがあります。
                    必ずという訳ではないのですが、既に存在しないファイルを選択した場合(その次にドロップダウンをクリックした時?)に起こるような気がします。
                    • [2186] Re9: 開く(ドロップダウン) みく 2002年06月20日 19:11

                      >タイトル: Re9: 開く(ドロップダウン)
                      >発言者: ai
                      >お試し版を使用しています。
                      >ドロップダウンをクリックした際に下のようなメッセージが出続ける時があります。
                      >
                      >CMenuDrawer::MyAppendMenu()エラー
                      >CMenuDrawerが管理できるメニューアイテムの上限はCMenuDrawer::MAX_MENUITEMS==300です。
                      >
                      >また、メニューに表示されているファイルと違うファイルが開かれることがあります。
                      >必ずという訳ではないのですが、既に存在しないファイルを選択した場合(その次にドロップダウンをクリックした時?)に起こるような気がします。

                      修正しました。
                      →dropdown0620.zip
                      • [2188] Re10: 開く(ドロップダウン) みく 2002年06月21日 18:57


                        ドロップダウンメニューの表示位置をボタンの下に固定しました。

                        →diff-dropdown-0621.zip
            • [2192] Re5: 開く(ドロップダウン) げんた 2002年06月24日 01:24

              >ドロップダウンはOSバージョン依存なので一応分けてます。
              これは単にDropDownが出ないというだけではないの?
              また,キーに割り当てた場合はメニューが出ないでボタンが押されたのと同じ動作になるんですね.それならなおさら同じコードで良いように思いますが.

              >ドロップダウンが嫌な人もいるかもしれないし。。。
              嫌いな人は全部嫌いでしょうからOPTIONで対応した方がいいように思います.
              • [2210] Re6: 開く(ドロップダウン) すい 2002年06月27日 20:29

                >>ドロップダウンはOSバージョン依存なので一応分けてます。
                >これは単にDropDownが出ないというだけではないの?
                >また,キーに割り当てた場合はメニューが出ないでボタンが押されたのと同じ動作になるんですね.それならなおさら同じコードで良いように思いますが.

                COMCTL32.DLL がそれぞれ
                ・素のWin95
                  そもそもツールバーが表示されないのですが...
                  ボタンがあるであろうと推測される場所を押すと「ファイルを開く」が登場する。
                ・IE3付属
                  ツールバーはドロップダウン[▼]が無い状態で表示される。
                  フォルダの絵を押すと、ドロップダウン登場。どうあがいても「ファイルを開く」が出ないみたい。
                ・401comupd.exe / 50comupd.exe <http://asia.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp>
                  表示・動作、共に正常。

                IE3を使っている環境の場合が ちょっと致命的ですか。
                一つにまとめるには COMCTL32.DLL がドロップダウンに対応しているかどうかを判定して動作を切り替える、とかにしないと。
                というより、理想は全て独自実装にする?(笑)
                # ボタン押されたらポップアップメニューを...

                ん?あ、現状ならば IE3の場合は通常の「開く...」と「開く...(ドロップダウン)」を並べて出しておけば良し、だ。(笑)
                → 何も違いが無いフォルダの絵が2個並ぶ。
                  片方は「ファイルを開く」が登場します。もう片方は過去に開いたファイルの一覧が出ます。

                ところで、マウス「開く...(ドロップダウン)」のフォルダの絵をマウス右クリックしても何も起こらないのですが...
                IE の [戻る] とかとは違うんですね。
                • [2211] Re7: 開く(ドロップダウン) みく 2002年06月27日 21:12


                  >COMCTL32.DLL がそれぞれ
                  >・素のWin95
                  >  そもそもツールバーが表示されないのですが...
                  >  ボタンがあるであろうと推測される場所を押すと「ファイルを開く」が登場する。

                  フラットツールバー(TBSTYLE_FLAT)はIE3以降です。

                  >・IE3付属
                  >  ツールバーはドロップダウン[▼]が無い状態で表示される。
                  >  フォルダの絵を押すと、ドロップダウン登場。どうあがいても「ファイルを開く」が出ないみたい。

                  "ツールバーに置く"ドロップダウンボタンはIE4以降です。
                  なので、それ以前の方のために通常ボタンを残したのです。


                  >ところで、マウス「開く...(ドロップダウン)」のフォルダの絵をマウス右クリックしても何も起こらないのですが...
                  >IE の [戻る] とかとは違うんですね。

                  実装してくだい。
                  • [2217] Re8: 開く(ドロップダウン) すい 2002年06月28日 21:49

                    >>・素のWin95
                    >>  そもそもツールバーが表示されないのですが...
                    >フラットツールバー(TBSTYLE_FLAT)はIE3以降です。
                    これは、試してみましたが、フラットツールバーでなくても表示されないようです。
                    # 共通設定 → ツールバー → フラットなボタン チェックoff
                    別な原因がありそうです。