<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dokumentencorlage erstellen und verwenden]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wollte gerne folgendes nachfragen:</p>
<p>Mein Ziel ist es eine zweite Dokumentenvorlage einzusetzen:</p>
<p>Hierzu bin ich so vorgegangen:<br />
Ich habe in der InitIstance Methode eine zweite Dokumentenvorlage erstellt.</p>
<p>CMultiDocTemplate* pDocTemplate2;<br />
pDocTemplate2 = new CMultiDocTemplate(<br />
IDR_DELKTYPE,<br />
RUNTIME_CLASS(CDrDoc),<br />
RUNTIME_CLASS(CDrChildFrame), // Benutzerspezifischer MDI-Child-Rahmen<br />
RUNTIME_CLASS(CDrView));<br />
AddDocTemplate(pDocTemplate2);</p>
<p>Das Funktioniert auch. Ich kann wenn ich auf den Neu Button klicke zwischen zwei Dokumentenvorlagen<br />
wählen.<br />
Allerdings ist es mein Ziel aus einer Funktion der ViewKlasse (erste Dokumenvorlage) auf Membervariablen der<br />
Dokumentenklasse der zweiten Dokumentklasse (CDrDoc) zuzugreifen.<br />
Bislang habe ich beispielsweise für Klassen die von CDialog abgleitet waren um auf Membervariablen der<br />
Dokumentenklasse zuzgreigen folgendes verfahren verwendet:</p>
<p>1 CDelApp* pApp = (CDelApp*) AfxGetApp();<br />
2 CFrameWnd* pChild = ((CMDIFrameWnd*) (pApp-&gt;m_pMainWnd))-&gt;GetActiveFrame();<br />
3 CDelView* pView = (CDelView*) pChild-&gt;GetActiveView();<br />
4 CDelDoc *pDoc = pView-&gt;GetDocument();</p>
<p>Ich glaube das gibt in der Zeile 3 ein Problem, da es nun zwei verschiedne CMultiDocTemplates gibt.</p>
<p>Deshalb habe ich ein Verfahren über LoadFrame versucht es stürzt ab in der Zeile 3 ab</p>
<p>1 CFrameWnd a;<br />
2 a.Create(NULL,&quot;hallo&quot;,WS_BORDER ,rect, pApp-&gt;m_pMainWnd, MAKEINTRESOURCE(IDR_DELTAKTYPE),WS_EX_ACCEPTFILES ,NULL);<br />
3 a.LoadFrame(IDR_DELTAKTYPE,WS_BORDER,(CMDIFrameWnd*) pApp-&gt;m_pMainWnd,NULL);</p>
<p>Wie kann ich innerhalb der ersten Dokumentenvorlage einen Zeiger auf die View und Doc-Klasse der zweiten Dokumentenvorlage erhalten.</p>
<p>Ein anderes Problem was ich in diesem zusammenhang noch habe, ist in der Header von CDrView kann<br />
ich mir keinen Zeiger auf CDrDoc holen d.h. bei CDrDoc* GetDocument(); im public Bereich der ViewKlasse gibt es eine<br />
Fehlermeldung.<br />
Wie kann ich ereichen, daß CDrDoc mit CDrView assoziert wird.</p>
<p>Noch eine Frage: Ich lese mine Dokumente nicht über Öffnen ein. Sondern habe in der CMainFrame Klasse folgendes gemacht</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153948/dokumentencorlage-erstellen-und-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 09:51:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153948.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Jul 2006 13:30:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dokumentencorlage erstellen und verwenden on Sat, 22 Jul 2006 13:30:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wollte gerne folgendes nachfragen:</p>
<p>Mein Ziel ist es eine zweite Dokumentenvorlage einzusetzen:</p>
<p>Hierzu bin ich so vorgegangen:<br />
Ich habe in der InitIstance Methode eine zweite Dokumentenvorlage erstellt.</p>
<p>CMultiDocTemplate* pDocTemplate2;<br />
pDocTemplate2 = new CMultiDocTemplate(<br />
IDR_DELKTYPE,<br />
RUNTIME_CLASS(CDrDoc),<br />
RUNTIME_CLASS(CDrChildFrame), // Benutzerspezifischer MDI-Child-Rahmen<br />
RUNTIME_CLASS(CDrView));<br />
AddDocTemplate(pDocTemplate2);</p>
<p>Das Funktioniert auch. Ich kann wenn ich auf den Neu Button klicke zwischen zwei Dokumentenvorlagen<br />
wählen.<br />
Allerdings ist es mein Ziel aus einer Funktion der ViewKlasse (erste Dokumenvorlage) auf Membervariablen der<br />
Dokumentenklasse der zweiten Dokumentklasse (CDrDoc) zuzugreifen.<br />
Bislang habe ich beispielsweise für Klassen die von CDialog abgleitet waren um auf Membervariablen der<br />
Dokumentenklasse zuzgreigen folgendes verfahren verwendet:</p>
<p>1 CDelApp* pApp = (CDelApp*) AfxGetApp();<br />
2 CFrameWnd* pChild = ((CMDIFrameWnd*) (pApp-&gt;m_pMainWnd))-&gt;GetActiveFrame();<br />
3 CDelView* pView = (CDelView*) pChild-&gt;GetActiveView();<br />
4 CDelDoc *pDoc = pView-&gt;GetDocument();</p>
<p>Ich glaube das gibt in der Zeile 3 ein Problem, da es nun zwei verschiedne CMultiDocTemplates gibt.</p>
<p>Deshalb habe ich ein Verfahren über LoadFrame versucht es stürzt ab in der Zeile 3 ab</p>
<p>1 CFrameWnd a;<br />
2 a.Create(NULL,&quot;hallo&quot;,WS_BORDER ,rect, pApp-&gt;m_pMainWnd, MAKEINTRESOURCE(IDR_DELTAKTYPE),WS_EX_ACCEPTFILES ,NULL);<br />
3 a.LoadFrame(IDR_DELTAKTYPE,WS_BORDER,(CMDIFrameWnd*) pApp-&gt;m_pMainWnd,NULL);</p>
<p>Wie kann ich innerhalb der ersten Dokumentenvorlage einen Zeiger auf die View und Doc-Klasse der zweiten Dokumentenvorlage erhalten.</p>
<p>Ein anderes Problem was ich in diesem zusammenhang noch habe, ist in der Header von CDrView kann<br />
ich mir keinen Zeiger auf CDrDoc holen d.h. bei CDrDoc* GetDocument(); im public Bereich der ViewKlasse gibt es eine<br />
Fehlermeldung.<br />
Wie kann ich ereichen, daß CDrDoc mit CDrView assoziert wird.</p>
<p>Noch eine Frage: Ich lese mine Dokumente nicht über Öffnen ein. Sondern habe in der CMainFrame Klasse folgendes gemacht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1102233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1102233</guid><dc:creator><![CDATA[guzza]]></dc:creator><pubDate>Sat, 22 Jul 2006 13:30:23 GMT</pubDate></item></channel></rss>