2017-02-15 4 views
0

Ich habe ein Dialogfeld (D1), das mit DoModal() ein neues Dialogfeld (D2) erstellt. Was ich festgestellt habe, ist, dass der Dialog D2 immer oben ist. Selbst wenn ich eine neue Anwendung öffne, erscheint der Dialog D2 darüber, während ich mit dieser Anwendung arbeite.MFC DoModal() Dialog ist immer über alle Anwendungen oben

Ich möchte, dass der Dialog D2 immer nur im Zusammenhang mit meiner Anwendung angezeigt wird, und nicht über alle Anwendungen, die ich gleichzeitig verwende. Kann mir jemand sagen, wie ich dieses Problem lösen kann?

+0

Haben Sie den WS_EX_TOPMOST-Stil für Ihren Dialog festgelegt? Es ist unwahrscheinlich, dass etwas mit DoModal() oder MFC zu tun hat. Es ist wahrscheinlich eine Einstellung für den Dialogstil in Ihrer Ressource. Wenn Sie Hilfe benötigen, sollten Sie die Quelle für die Dialogressource angeben. –

+0

Was Sie beschreiben, ist das Standardverhalten für modale Dialoge: Ein modaler Dialog befindet sich immer in der Z-Reihenfolge vor seinem Eigentümerfenster. Wenn einer Ihrer modalen Dialoge vor allen anderen Fenstern angezeigt wird, handelt es sich um einen Fehler. – IInspectable

+0

@Intensible, aber er sagte "auch wenn ich eine neue Anwendung öffne" ein anderes Programm anzeigt. –

Antwort

2

Vielen Dank. System Modal wurde nicht für dieses Fenster, sondern für ein zugrunde liegendes Fenster auf "True" gesetzt. Setzen Sie es auf falsch gelöst !!

Verwandte Themen