Joko33 Geschrieben 20. Februar 2009 Teilen Geschrieben 20. Februar 2009 Hi und Hallo, bin neu hier und habe ein schwieriges Problem: Ich möchte ein dynamisches Menü erstellen, und zwar, welches zum CMainFrame gehört. Jedoch sollen sich die Einträge ändern, jenachdem was gerade in einem View angezeigt wird (meine App ist MDI). Ich habe es bis jetzt in die "OnInitialUpdate"-Methode des Views geschrieben. Hier mal etwas Code wie ich es bis jetzt mache (habe es aus einem Buch, aba kann nicht kanz verstehe warum dort "static CMenu" verwendet wird) CMenu* menu; menu = AfxGetMainWnd()->GetMenu(); CMenu* subMenu(menu->GetSubMenu(3)); subMenu->DeleteMenu(0,MF_BYPOSITION); static CMenu popUp; CMenu* popUpMenu = NULL; popUpMenu = & popUp; popUpMenu->CreatePopupMenu(); popUpMenu->AppendMenuW(MF_STRING,ID_POPUP_ITEM_1,L"Text 1"); [/PHP] So wie es jetzt funktioniert, funktioniert es fast schon so wie es soll, auser: ich öffne das 1. Dokument -> View wird erstellt und angezeigt --> das Menü wird angepasst! ich öffne das 2. Dokument -> View wird erstellt und angezeigt -->das Menü wird NICHT angepasst !!! Ich klicke auf View von Doku1 -> View von Doku 1 schiebt sich vor View von Doku 2. Ich klicke dann auf View von Doku2 ->View von Doku 2 schiebt sich vor View von Doku 1 -----> Menü ist nun wie es sein soll. Öffne ich ein 3. Dokument, dann ist dieses Menü wieder dem des 2. Dokumentes gleich. Ich denke da läuft dann etwas bei der Aktualisierung falsch!! Kann mir jemand einen Tipp geben? Ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AndiE Geschrieben 20. Februar 2009 Teilen Geschrieben 20. Februar 2009 Hallo, das Menu wird in CFrameWnd oder CMDIChildWnd gehalten. Da sollte es auch manipuliert werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Joko33 Geschrieben 20. Februar 2009 Autor Teilen Geschrieben 20. Februar 2009 Nun gut, ich verstehe! Aber meine Daten, von deren Abhängigkeit das Menü sich veränder soll, befindet sich ja in einem Document. Nagut, aber da wird es sicher wege geben, das zu managen!!! Thx + Bye Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AndiE Geschrieben 20. Februar 2009 Teilen Geschrieben 20. Februar 2009 Hallo, du kannst dir immer mit CWnd::GetDocument() einen Zeiger auf das Dokument holen. Liebe Grüße Andre' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Joko33 Geschrieben 20. Februar 2009 Autor Teilen Geschrieben 20. Februar 2009 ahh, na klar. Ok ich versuche das dann mal das nächste mal! Sage dann bescheid wie es funktioniert hat! So in 2-3 Tagen! Bye + Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.