SDI in SDI erstellen
-
Die beiden Fenster sollen nichts miteinander zu tun haben. Ich will praktisch statt z.B. eines Dialoges eben dieses SDI aufrufen. So ähnlich wie der Lesezeichen Manager bei Firefox. Der hat ja mit dem eigentlichen Bowser auch nichts zu tun.
-
Benutze doch einfach eine MDI-Anwendung... !?
Gruß
:: NoName ::
-
Ich mag keine MDIs
Scherz. Würde einfach nicht passen.
-
Wenn ich dich richtig verstehe, dann würd ich dir raten, dass du dir mal CSplitterWnd anschaust, wie (D)Evil schon gesagt hatte.
-
Jungs, ihr versteht mich falsch. Ich kenne CSplitterWnd. Ich will nicht zwei verschiedene Sachen in einem Fanster anzeigen, sondern zwei verschiedene Sachen in zwei unterschiedlichen Fenstern. Mit dem Firefoxbeispiel meinte ich den Lesezeichenmanager als eigenständiges Fester und den Browser an sich als zweites eigenständiges Fester. Ich weiß nur nicht, wie ich das machen soll, da ich nicht ganz verstehe, wie eigentlich das SDI bei einem normalen Programm aufgebaut ist.
-
Wie so machst du nicht nen neues Fenster und rufst das dann auf?
-
Das ist ja das Problem. Wie geht das?
-
Hast du schon versucht, das nachzubauen, was in InitInstance mit m_pMainWnd gemacht wird?
-
Das war das, wonach ich gesucht habe. Vielen Dank.!
-
Wenn ich jetzt das hier aufrufe:
CWinApp app; InitCommonControls(); CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CTestDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CTestView)); app.AddDocTemplate(pDocTemplate); // Enable DDE Execute open m_pManagerWnd->ShowWindow(SW_SHOW); m_pManagerWnd->UpdateWindow(); // call DragAcceptFiles only if there's a suffix // In an SDI app, this should occur after ProcessShellCommand // Enable drag/drop open m_pManagerWnd->DragAcceptFiles();
funktioniert das nicht, weil ein ASSERT in der MFC damit nicht einverstanden ist.(ASSERT(AfxGetThread() == NULL)). Leider weiß ich nicht viel damit anzufangen und bitte darum um euere Hilfe.