• ベストアンサー

メニューのカスタマイズ

EXCLEやWORDのメニューは、使用頻度の高い順に並び、かつ多いメニューは省略されて表示されます。 VC++で同様のメニューを実装する必要がでてきたのですが、このようなメニューを作成した経験のある方、その時の実装方法を教えていただけないでしょうか? よろしくお願い致します。 OS:Windows XP 開発環境:VS2005 MFC使用 MDIアプリケーション

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★アドバイス ・単純にメニューを動的に作成すれば良いです。  そしてメニューが選択された時に使用頻度のカウンタを+1にします。  このカウンタをレジストリ、iniファイルなどの保存。  起動時にレジストリ、iniファイルから使用頻度のカウンタを読み込む。  読み込んだカウンタよりメニューを動的作成するときに追加する、追加しないを決定します。  使用頻度が低くて表示させない場合は『v』のような表示を出しますがこれは  メニューをオーナードローで描画します。そして『v』のような表示が選択されたら  すべてのメニュー項目を動的に追加するようにプログラムすれば良いです。  全体的にはこのようになります。 ・以上。ポイントは『使用頻度カウンタ』と『メニューのオーナードロー』です。

yutyantyan
質問者

お礼

済みません、返信が遅くなりました。 なるほど、オーナードローですか。メニューにイメージを付けたり色を変えるくらいしか使い道がないと思っていましたが、それを利用するということですね。 参考になりました。ありがとうございます。

関連するQ&A