Nichtmodaler Dialog
-
Hallo ...
ich habe mir einen nicht-modalen Dialog erzeugt und der ist jetzt immer im Vordergrund gegenüber dem Main-Window.
Es soll natürlich nur im Vordergrund sein, wenn auch der Focus drauf ist. Wie kann ich das machen?
Hier mal die Klasse, die den Dialog erzeugen soll.
CEventWindow::CEventWindow(CWnd* pParent /*=NULL*/) : CDialog(CEventWindow::IDD, pParent), m_nID(CEventWindow::IDD) { ASSERT(pParent!=NULL); m_pParent=pParent; } // CEventWindow-Meldungshandler BOOL CEventWindow::Create(void) { return CDialog::Create(m_nID, m_pParent); }
Zum Erzeugen rufe ich dann den Konstruktor und die Create-Methode auf...
-
Ich habe jetzt auch shcon die Methode SetWindowPos entdeckt. Aber funktionieren tut es noch immer nicht.
Habe so versucht, dass Parent-Window als TOPMOST zu setzen. Gegenüber allen anderen Fenstern (z.B. Firefox, word etc.) geht das, nur nicht gegenüber dem nicht-modalen Dialog.
CRect rect; // get the current window size and position GetWindowRect( rect ); ::SetWindowPos(m_hWnd , // handle to window HWND_TOPMOST, // placement-order handle rect.left, // horizontal position rect.top, // vertical position rect.Width(), // width rect.Height(), // height SWP_SHOWWINDOW); // window-positioning options); }
-
Hi,
habe das selbe Problem aber noch keine Lösung gefunden.
Im Forum kam aber die Anregung, auch das Parent-Window als nichtmodalen Dialog zu gestalten und das eigentliche Hauptfenster zu verbergen.Gruß, Thomas
-
Thomas++ schrieb:
Hi,
habe das selbe Problem aber noch keine Lösung gefunden.
Im Forum kam aber die Anregung, auch das Parent-Window als nichtmodalen Dialog zu gestalten und das eigentliche Hauptfenster zu verbergen.Gruß, Thomas
Ja das ist mit Sicherheit eine Möglichkeit, aber gefallen tut sie mir ja nicht so umbedingt.
Es gibt zig Beiträge hier im Forum, dass es mit SetWindowPos(...) funktionieren soll, aber bei mir irgendwie nicht. Muss ich denn noch mehr machen außer diese Methode aufzurufen?
-
Hat keiner eine Idee, wie ich das Problem lösen kann ...?
-
[Idee] SetForegroundWindow() [/Idee] ?
-
isabeau schrieb:
[Idee] SetForegroundWindow() [/Idee] ?
Bewirkt leider nix ...
- Hatte ich auch schon mal ausprobiert...