Hauptfenster vor moduslosen Dialog legen
-
Hallo zusammen,
hoffe (mal wieder) dass mir hier der ein oder andere helfen kann.
Mein Problem ist folgendes: ich erzeuge mitCreateDialog(hInst,MAKEINTRESOURCE(IDD_FADER), hwndMain,FaderDlgProc);einen moduslosen Dialog. Klappt auch soweit ganz gut. Wenn man nun aber mit der Maus auf das Hauptfenster klickt, bekommt dieses zwar den Eingabefocus, rückt aber nicht in den Vordergrund, wird also immer noch von dem Dialog verdeckt.
Dies ist für meine Anwendung äußerst unpraktisch. Kann man das irgendwie ändern?
Mit bestem Dank im Voraus,
Sebastian
-
FaderDlgProc zeigen
-
Ist z. Zt. noch leer:
BOOL CALLBACK FaderDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_CLOSE: EndDialog(hDlg,0); return 1; case WM_COMMAND: switch (LOWORD(wParam)) { case 0: break; } break; } return 0; }
-
Es liegt wahrscheinlich am "WS_EX_TOPMOST" Fensterstil. Mit dem Ressourcen-Editor wirst du dieses Flag nicht löschen können, wenn du Visual C++ 6.0 verwendest. Öffne daher die Ressourcen-Datei und lösche ihn manuell.
-
Nein, das wars leider nicht. Ich habe kurzerhand meinem Hauptfenster auch das WS_EX_TOPMOST gesetzt. Bringt aber nix.
-
nimm dir einfach hier dran ein beispiel: http://www.winapi.net/index.php?inhalt=tipp3
-
Willst du, dass der Dialog zerstört wird wenn der User wegklickt?
-
CreateDialog(hInst, MAKEINTRESOURCE(IDD_FADER), NULL, FaderDlgProc);
-
Super, das wars. Danke!!!
Sebastian