Dialogbox aus einer solchen aufrufen



  • Hallo,

    Ich arbeite mit Visual C++ 6 ohne MFC und habe mir 2 Dialogboxen im Ressourceneditor gemacht.

    Nun will ich eine aus der anderen aufrufen.

    (int) DialogBox(hInstNeueBox,MAKEINTRESOURCE(IDD_NEUEBOX),hWnd,BoxFunktion);
    

    Mit hWnd als handle meines Hauptdialoges. Das funktioniert auch soweit. Nur wenn ich die "neue Box" schliessen will:

    //Auszug aus Callbackfunktion BoxFunktion
    case IDCANCEL:
    	DestroyWindow(hWnd);
    	//EndDialog(hWnd, wParam); //da passiert das Gleiche
    	return TRUE;
    

    verschwindet zwar die Box aber auf mein Hauptfenster kann ich dann nicht mehr zugreifen. Wenn ich beim Aufrufen der Box statt hWnd NULL schreibe geht es zwar, aber dann kann ich auch bei offener neuen Box weiter in der Hauptbox rumklicken.

    Ich hoffe ihr versteht die Problematik.

    Okay, also was muss ich machen, damit der neue Dialog geordnet weggeht und ich weiter im Hauptdialog arbeiten kann.

    Danke, der Guenther



  • im Zweifelsfalle würd ich die Box mit mit rumschleppen.
    Also einfach nur am Anfang ein Mal öffnen und immer nur visible und invisible schalten.

    Funktioniert allerdings nur solange du nicht mehrere von diesen boxen auf haben willst..



  • Hallo,

    DocJunioR schrieb:

    im Zweifelsfalle würd ich die Box mit mit rumschleppen.
    Also einfach nur am Anfang ein Mal öffnen und immer nur visible und invisible schalten.

    Funktioniert allerdings nur solange du nicht mehrere von diesen boxen auf haben willst..

    Aber mein Problem bleibt trotzdem. Stelle ich die Box beim aufrufen in den Besitz von hWnd, dann ist sie im Focus und auf hWnd bekomme ich keinen Zugriff mehr.

    Mache ich sie unabhaengig sehe ich einen neuen Taskleistenbutton. Und das die ganze Zeit.

    Ich werde es mal probieren, vielleicht irre ich mich ja.

    der Guenther



  • Hallo Leute,

    mein Problem ist behoben.

    Ich hatte vergessen

    case  WM_CLOSE:
             EndDialog(hWnd,NULL);
             return  TRUE;
    

    einzusetzen. Nun geht es prima. Danke fuer deine Hilfe.

    der Guenther


Log in to reply