Veröffentlicht 26. Oktober 200321 j hallo leute hab in meinem MainFenster ein zweites fenster mit create aufgerufen m_Speiseplan = new CSpeiseplan(); if(m_Speiseplan != NULL) { BOOL ret = m_Speiseplan->Create(IDD_SPEISEPLAN,m_Speiseplan); if(!ret) AfxMessageBox("Fehler beim Erzeugen des Dialogs"); m_Speiseplan->ShowWindow(SW_SHOW); } else AfxMessageBox("Fehler beim Erzeugen des Dialog-Objekts"); und dieses zweite fenster ruft wiederum ein drittes fenster mit DoModal auf, eigentlich hätte ich mir gewünscht dass DoModal entweder das erste UND das zweite fenster deaktiviert oder nur das zweite. ABER: es wird NUR das erste=Hauptfenster deaktiviert, obwohl diese klasse das DoModal gar nicht aufgerufen hat.... Hab ich was falsch gemacht? MFG SwordMaster
26. Oktober 200321 j Ich glaube dein zweites Fenster (Speiseplan?) ist kein Child deines Hauptfensters das dritte Fenster aber schon. Bei Create() müßtest du eigentlich noch ein Parent Window angeben können.
27. Oktober 200321 j Autor ja der zweite Parameter von create wär das Parent fenster mein aufruf lautet ja m_menueverwaltung->Create(IDD_MENUEVERWALTUNG,m_menueverwaltung); wenn ich jetzt m_menueverwaltung->Create(IDD_MENUEVERWALTUNG,this); schreiben würde, und dann DoModal aufrufen würde, dann wären die ersten beiden fenster deaktiviert.... das problem beim aufruf mit "this" ist, dass das ParentFenster dann zwar nicht deaktiviert ist, aber es ist IMMER hinter dem zweiten fenster.... und das nervt, ich wollte eignetlich schon ganz normal die fenster wechseln können, so dass das aktive fenster immer im fordergrund ist giebts sonst noch einen weg? MFG SwordMaster
27. Oktober 200321 j Klar gibt`s andere Wege und es dauert <1 Minute die in der MSDN nachzuschauen Du könntest z.B. bevor du die Messagebox anzeigst die Fenster selber deaktivieren und danach wieder aktivieren. CWnd::EnableWindow(); Gruß Guybrush
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.