<?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[MultiDocTemplate per code auswählen?]]></title><description><![CDATA[<p>Hai doofer titel aber besser gings net <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Also ich erzeuge verschiedene MultidocTemplate in meiner InitInstance und wenn ich nun in meiner MDI anwendung auf neu Gehe kommt dann natürlich ein kleines window wo eben die Template drinn stehen und ich eine auswählen muss und dann die entsprechenden views usw geöffnet werden. Ich möchte nun aber net dieses doofe fenster haben sondern die Template per code auswählen um eben wenn ich auf neu gehe gleich eine template gestartet bekomme. Geht das irgendwie?????</p>
<p>thx im voraus für jede antwort <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/48465/multidoctemplate-per-code-auswählen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 14:43:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/48465.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Sep 2003 12:47:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MultiDocTemplate per code auswählen? on Tue, 09 Sep 2003 12:47:59 GMT]]></title><description><![CDATA[<p>Hai doofer titel aber besser gings net <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Also ich erzeuge verschiedene MultidocTemplate in meiner InitInstance und wenn ich nun in meiner MDI anwendung auf neu Gehe kommt dann natürlich ein kleines window wo eben die Template drinn stehen und ich eine auswählen muss und dann die entsprechenden views usw geöffnet werden. Ich möchte nun aber net dieses doofe fenster haben sondern die Template per code auswählen um eben wenn ich auf neu gehe gleich eine template gestartet bekomme. Geht das irgendwie?????</p>
<p>thx im voraus für jede antwort <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/350194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/350194</guid><dc:creator><![CDATA[xyz44]]></dc:creator><pubDate>Tue, 09 Sep 2003 12:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to MultiDocTemplate per code auswählen? on Wed, 10 Sep 2003 06:03:10 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Also, meine Lösung funktioniert, aber so richtig zufrieden bin ich mit ihr nicht - hatte nur noch keine Idee zum Verbessern.</p>
<p>Du must einen eigenen Templatemanager machen:</p>
<p>Also: Eine Klasse von CDocManager ableiten und da drin die Funktionen OnFileNew und OnFileOpen überscheiben. Die werden von CWinApp automatisch aufgerufen, also wunder dich nicht über den fehlenden Aufruf.</p>
<p>In den Funktionen legst du dann fest, was du machen willst. Ich wähle mal das erste und mal das zweite Template (das ist die Stelle, wo ich meine Lösung nicht mag).</p>
<pre><code class="language-cpp">/*********************************************************************
  OnFileNew
  Es wird das erste DocTemplate in der internen Liste genutzt.
*********************************************************************/
void CMyDocManager::OnFileNew()
{
	CloseAllDocuments(FALSE);

	if (!m_templateList.IsEmpty())
	{
		CDocTemplate* pTemplate = (CDocTemplate*)m_templateList.GetHead();

		ASSERT(pTemplate != NULL);
		ASSERT_KINDOF(CDocTemplate, pTemplate);

		pTemplate-&gt;OpenDocumentFile(NULL);
	}
}

/*********************************************************************
  OnFileOpen
  Es wird das zweite DocTemplate in der internen Liste genutzt.
*********************************************************************/
void CMyDocManager::OnFileOpen()
{
	CloseAllDocuments(FALSE);

	if (!m_templateList.IsEmpty())
	{
		POSITION pos = m_templateList.GetHeadPosition();
		m_templateList.GetNext(pos);

		CDocTemplate* pTemplate = (CDocTemplate*)m_templateList.GetNext(pos);

		ASSERT(pTemplate != NULL);
		ASSERT_KINDOF(CDocTemplate, pTemplate);

		pTemplate-&gt;OpenDocumentFile(NULL);
	}
}
</code></pre>
<p>Jetzt must du nur noch m_pDocManager von deiner App-Klasse auf deine eigene Klasse umbiegen.</p>
<pre><code class="language-cpp">m_pDocManager = new CMyDocManager;
</code></pre>
<p>Das sollte es gewesen sein.</p>
<p>PS.: Sollte dir eine bessere Lösung einfallen, wie man ein bestimmtes DocTemplate auswählt, dann sag Bescheid.<br />
Ich habe versucht, eine Klasse von CMultiDocTemplate abzuleiten, um dann per cast herauszufinden, was ich denn da in der Liste gefunden habe - aber das ging irgendwie schief. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/350573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/350573</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 10 Sep 2003 06:03:10 GMT</pubDate></item><item><title><![CDATA[Reply to MultiDocTemplate per code auswählen? on Wed, 10 Sep 2003 20:07:30 GMT]]></title><description><![CDATA[<p>hey, also naja ich habs jetzt so gemacht:</p>
<pre><code class="language-cpp">MyDocTemplate2 = new CMultiDocTemplate(
		IDR_SK_REPTYPE,
		RUNTIME_CLASS(CDoc),
		RUNTIME_CLASS(CChildFrame), // Benutzerspezifischer MDI-Child-Rahmen
		RUNTIME_CLASS(CView));
	//AddDocTemplate(MyDocTemplate2);
	MyDocTemplate2-&gt;OpenDocumentFile(NULL);
</code></pre>
<p>dieser code ist net von mir er war hier schpn in forum. Habe den tread jetzt net gefunden.<br />
Also damit kannst du ein neue Template mit window einfach erzeugen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/351229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/351229</guid><dc:creator><![CDATA[xyz44]]></dc:creator><pubDate>Wed, 10 Sep 2003 20:07:30 GMT</pubDate></item></channel></rss>