Matthes Geschrieben 19. März 2003 Geschrieben 19. März 2003 Hallo, ich bin grade dabei mir die Funktionsweise der MDI-Anwendungen zu verinnerlichen. Dabei drängt sich mir folgende Frage auf: Wie kann man verschiedene Views aufrufen? Mir ist klar das ich dazu DocTemplates erstellen muss und da halt den ensprechenden View (im folgenden Listing halt CMeinView) festlegen kann. CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_EEEETYPE, RUNTIME_CLASS(CMeinDoc), RUNTIME_CLASS(CChildFrame), RUNTIME_CLASS(CMeinView)); AddDocTemplate(pDocTemplate); Muss ich nun aber den View, oder das Dokument öffnen, oder geht's vielleicht doch irgendwie anders)?!? Hab schon probiert das ganze durchzudebuggen aber da komme ich nicht sehr weit, da wenn ich auf Datei->Neu klicke wird ja die Methode der Basisklasse aufgerufen. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) Zitieren
Matthes Geschrieben 19. März 2003 Autor Geschrieben 19. März 2003 Ich versuche die Frage noch mal anders zu stellen: Wie kann ich manuell ein bestimmtes Document und den entsprechenden View öffnen, ohne dass mir der Dialog zur Auswahl des Documents angezeigt wird. (Passiert ja wenn ich über CWnd::OnFileNew gehe und mehrere DocTemplates habe) Ich möchte also z.B. bei Klick auf Button1 das Document1, bei Klick auf Button2 das Document2 usw öffnen. (@Klotzkopp: Das soll kein Threadpushing werden, ich habe nur versucht die Frage sinnvoller zu stellen ) Zitieren
Klotzkopp Geschrieben 19. März 2003 Geschrieben 19. März 2003 Eigentlich sollte das mit CDocTemplate::CreateNewDocument gehen. Du kannst ja mal in diesen Thread schauen, da ging es um ein ähnliches Thema. Zitieren
Matthes Geschrieben 19. März 2003 Autor Geschrieben 19. März 2003 Danke, ich habs dann auch selber rausbekommen (Wer suchet der findet ) Wen es Interessiert, das ganze sieht dann so aus ON_COMMAND(ID_DOCS_DOC1, OnDoc1) ... ... void CAnwendungApp::OnDoc1() { CDocTemplate *pTemp; POSITION pos; if(pos = GetFirstDocTemplatePosition()) { pTemp = GetNextDocTemplate(pos); pTemp->OpenDocumentFile(NULL); } } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.