ok dachte mir schon das mein post zu kurz war. also ich arbeite an einem mdi programm mit 5 einträgen. sprich wenn das programm gestartet wird oder man in der menü leiste auf neu klickt kann man zwischen diesen 5 teilen auswählen (jeder teil hat eine eigene menüleiste). wenn man jetzt auf meinen teil klickt öffnet sich ein dialogfenster und wenn man auf einen button "start" drückt geht mein fenster wieder zu und das fenster eines anderen teils geht auf (da stehen dann die daten die von meinem programm berechnet werden in einer listbox drin). mit diesen daten wird jetzt in dem anderen teil weitergerechnet. jetzt ist halt das problem das zwar das fenster des anderen teils aufgeht aber immer noch die menüleiste von meinem teil obensteht. es soll wenn mein dialogfenster geschlossen wird und das neue aufgeht auch die neue menüleiste aufgehen. für den menüeintrag neu der ja standardmäßig drin ist muss es ja irgendwo einen evanthandler geben der sagt wenn du auf x geklickt hast öffne menüleiste x- diesen teil müsste man ja in meinen evanthandler auf "start" rüberkopieren können und dann müsste die neue menüleiste aufgehen. oder? also meine frage wie mache ich das?
wenn du ein handle auf dein menü hast (bzw eine CMenu struktur) kannst du es mit per SetMenu vom ich glaube dürfte die View sein setzen. -- class God : public ChuckNorris { };
ich versteh jetzt nicht ganz was du meinst. die menüeintrag datei usw werden ja alle automatisch bei einer mdi erzeugt und neu oder öffnen sind ja alle schon realisiert. ich hab an diesem standardmenü einfach einen punkt hinzugefügt. auf diesem punkt hab ich dann einen evanthandler:
void PeakView::OnPeakDialog() { mein code
init->Show(); // öffnet das fenster von dem anderen teil (ist ein windows form) }
irgendwo hier drin müsste also irgendwas stehen was die menüleisten tauscht.