Ein Child-Fenster erstellen ???
-
Ich hab folgendes Problem:
Ich möchte in meinem Programm zuerst das Hautpfenster(CMainWnd von CFrameWnd)
erstellen und dann ein ChildFenster m_wndFolder (CFolderWnd von CWnd) erstellen. Leider ist das Fenster deaktiviert und die Ressourece wird auch nicht geladen... An was liegts???
Hier der Code://In der Startfunktion: static const UINT Children_Styles=WS_CHILD | WS_OVERLAPPEDWINDOW | WS_VISIBLE; m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);//Icon CString ClassName=AfxRegisterWndClass(NULL,NULL,CreateSolidBrush(RGB(144,144,144)),m_hIcon);//FensterKlasse BOOL erg=Create(ClassName,"FTP"); //ClientRect zum Berechnen: CRect rCR; GetClientRect(rCR); //Weitere Aufgaben: //-Ordner und Dateienfenster: CRect rFolder; rFolder.CopyRect(rCR); //rFolder.bottom-=rCR.Width()/3; rFolder.SetRect(0,0,100,100); m_wndFolder.Create(NULL,"Dateien",Children_Styles,rFolder,this,IDD_FOLDER); //m_wndFolder.CreateEx(WS_EX_MDICHILD,NULL,"dd",Children_Styles,rFolder,this,IDD_FOLDER);
-
OK, jetzt hab ichs mal mit der Klasse CMDIFrameWnd probiert.
Jetzt kommt aber bei folgender Stelle ein "Assertion failed":CMainWnd* wnd= new CMainWnd; wnd->Create(NULL,"xy",WS_OVERLAPPEDWINDOW,CMDIFrameWnd::rectDefault,NULL);Wieso?????
-
Ok, jetzt funktionierts einigermaßen, nur die Dialogressource lädt er nicht...
Hab folgenden Code:(In InitInstance)CMainWnd* wnd= new CMainWnd;//Von CMDIFrameWnd CRect r; r.SetRect(10,10,100,100); wnd->Create(NULL,"hallo",WS_OVERLAPPEDWINDOW,r); wnd->ShowWindow(SW_SHOW); m_pMainWnd = wnd; wnd->CreateNewChild(RUNTIME_CLASS,FolderWnd),IDD_FOLDER); //Hier Ressource laden, macht er aber nicht, nur ein weißes Fenster erscheint...