2009-07-20 24 views
1

メインメニューバーにCMenuを使用するMFCアプリケーションがあります。
サブメニューを正常に作成できませんでした。MFCのCMenuにサブメニューを追加するには?

ファイル、編集、ビューなどの最初のレベルとそれらのサブメニューを持つことができますが、これらのメニューからサブメニューを作成することはできません。

例えば、私は、[ファイル]を行くことができるようにしたいと思います>サブメニュー
内の項目の最近の項目 - >リスト私はVSでのリソースエディタで簡単に十分にこれを行うことができますが、これは実行する必要があります動的に

CMenuで適切なクラスを使用していますか?何を試してみるべきですか?
私はまともなチュートリアルを見つけられませんでした。右手に向かって私を指差しても助けになります。私は今日同じことをしなければならなかった

+0

どのようなプログラミング言語を使用していますか? – sth

+0

MFCはおそらくC++です。 – Max

+0

正解、私はC++を使用しています。 – CodeFusionMobile

答えて

2

リソースエディタを使用して、1つのプレースホルダ項目を含むサブメニューを追加します。このサブメニューへの参照をプログラムで取得し、項目を追加してプレースホルダ項目を削除することができます。

CMenu *subMenu = mainMenu.GetSubMenu(menuPosition); 

if(subMenu) 
{ 
    for(unsigned i = 0; i < stringArray.size(); i++) 
    { 
     subMenu->AppendMenu(MF_STRING, 400 + i, stringArray[i]); 
    } 

    subMenu->DeleteMenu(ID_SUBMENU_PLACEHOLDER, MF_BYCOMMAND); 
} 
0

は、私がフィーチャーパック(新UIのもの)とVS2008でだし、サンプルを見ていた、そして動的にメニュー項目を追加する方法のサンプル(http://msdn.microsoft.com/en-us/library/bb983167.aspx

があります

CFrameWndEx :: OnShowPopupMenuメソッドをオーバーライドする必要があります。

関連する問題