Fenster in Fenster erstellen



  • Moin moin,

    Ich versuche in meinem Hauptfenster ein zweites Fenster zu erstellen:

    case WM_CREATE:
    		hMain = CreateDialog(hInst, MAKEINTRESOURCE(IDD_FORMVIEW), hWnd, MainDialog);
    		if(hMain != NULL)
    		{
    			ShowWindow(hMain, SW_SHOW);
    		}
    		else
    		{
    			MessageBox(hWnd, "Problem", "problem", MB_OK);
    		}
    

    So sieht der Dialog aus:

    IDD_FORMVIEW DIALOGEX 0, 0, 219, 170
    STYLE DS_SETFONT | DS_FIXEDSYS
    FONT 8, "MS Shell Dlg", 400, 0, 0x0
    BEGIN
    LTEXT "TODO: Layout der Formularansicht",IDC_STATIC,0,0,117,91
    END

    Das funktioniert soweit auch ganz gut, nur will ich jetzt, dass das erzeugte Fenster im Hauptfenster erscheint und nicht irgendwo sinnlos in der Gegend rumhängt 🙂
    Wenn sich das Hauptfenster verschiebt sollte der Diaglog sich dann natürlich auch verschieben.

    Danke,
    Lusches



  • Den Dialog als CHILD definieren, dann wird er IM parent erzeugt.



  • probiere es doch einfach mal mit SetParent():

    HWND elternfenster;
    HWND child;
    
    SetParent(elternfenster, child);
    

Anmelden zum Antworten