Fenstersteuerung bei MFC (dialogbasierend)
-
Hallo!
Wie kann ich das Hauptdialog in den Vordergrund bringen wenn Kinddialoge
überlappen und das Hauptdialog aktiviert wird.
(MFC dialogbasierend)Gruß leo
-
Sind die Kinddialoge modal oder nichtmodal?
-
Hallo
Die Kinddialoge sind nichtmodal (wenn sie modal wären könnte man sie ja nicht in den Hintergrund bringen)
Gruß leo
-
reicht dir SetFocus(...) ?
-
Hallo
Nein, der Focus wird schon reingesetzt wenn ich den Hauptdialog anklicke,
Mein Problem ist das die deaktivierten nichtmodalen Kinddialoge nicht hinter
das Hauptdialog verschwinden wo sie überlappen, und ich jedesmal erst den
Hauptdialog freiräumen muß damit ich ihn komplett sehe.Habs auch schon mit SetForegroundWindow() probiert, hat aber nichts gebracht!
mfg Leo
-
schau mal dein Create und die Parameter der nichtmodalen Dialoge an, das klingt als ob du TopMost oder sowas in der Art mit übergeben hättest
-
Hallo
Nein meine Create() ist leer, auch bei den Eigenschaften der Fensterhabe ich nicht TopMost ausgewählt
mfg Leo
-
hm, schon mal mit Google: site:msdn.microsoft.com SetForegroundWindow versucht ?
-
Ja ich hab bereits in der MSDN nachgeschaut
Andere Frage habt ihr irgenwo ein Beispielprojekt wo das funktioniert
vielleicht finde ich dann meinen Fehler. (Die Beispielprojekte die ich habe
verhalten sich genauso)mfg Leo
-
Hallo
Habe inzwischen ein Demoprojekt bei codeproject gefunden das funktioniert
Habe hoffentlich bald meinen Fehler gefunden
mfg Leo
-
Also ich flipp noch aus
Das Projekt wo ich mir angeschaut habe funktioniert zwar.
Aber ich habe keinen Unterschied festgestellt bis auf einen, das bei
folgende Argumente mit übergeben werden
m_pXY->Create(CModeless::IDD,GetDesktopWindow)Bei dem Projekt handelt es sich ebenfalls um ein dialogfeldbasierendes MFC
ABER: Ick kann bei mir gar keine Parameter mit übergeben ohne Compilerfehler
GRUND: Definition von Create: BOOL Create() andere Definitionen gibt es nicht wenn ich die Maus über Create führe, bei dem gefundenen Beispielprojekt
aber schon.(Das Projekt mußte ich aber konvertieren -> ältere Version)
Auch an den Headerdateien liegt es nicht!Ich habe Visual Studio Net 2003
Bitte, Bitte helft mit
mfg leo