<?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[Datenaustausch Dokument &amp;lt;-&amp;gt; View]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich hab dazu leider in den FAQ nichts gefunden, die Suche hab ich auch schon benutzt.</p>
<p>Im Grunde ganz einfach: Ich habe eine SDI-Anwendung und möchte in meiner von CDocument abgeleiteten Klasse auf mein CView-Objekt zugreifen. CDocument bietet mir aber keine passende Methode an, um mein CView-Objekt zu erhalten.<br />
Wie löst man sowas??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171953/datenaustausch-dokument-lt-gt-view</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 21:08:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171953.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Jan 2007 22:33:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datenaustausch Dokument &amp;lt;-&amp;gt; View on Tue, 30 Jan 2007 22:33:19 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich hab dazu leider in den FAQ nichts gefunden, die Suche hab ich auch schon benutzt.</p>
<p>Im Grunde ganz einfach: Ich habe eine SDI-Anwendung und möchte in meiner von CDocument abgeleiteten Klasse auf mein CView-Objekt zugreifen. CDocument bietet mir aber keine passende Methode an, um mein CView-Objekt zu erhalten.<br />
Wie löst man sowas??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220237</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Tue, 30 Jan 2007 22:33:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datenaustausch Dokument &amp;lt;-&amp;gt; View on Tue, 30 Jan 2007 23:16:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void CMyDocument::DoSomethingWithView()
{
   // Position des &quot;ersten besten&quot; Viewer Objektes holen
   // Auch im SDI sind mehrere Views pro Dokument möglich!
   POSITION pos = GetFirstViewPosition();
   // pos ist in der normalen Document/View Hirarchie nach kompletter
   // Initialisierung immer gültig
   if(pos != NULL)
   {
      // hole den zeiger auf die View. 
      // Achtung, dynamic_cast benötigt RTTI (Compiler Schalter)
      CMyView* pView = dynamic_cast&lt;CMyView *&gt;(GetNextView(pos));
      // und nun die Member Funtion der Viewer Klasse aufrufen
      pView-&gt;DoAction();
   } 
}
</code></pre>
<p><em><strong>GetFirstViewPosition()</strong></em> und <em><strong>GetNextView(..)</strong></em> sind die geeigneten Klassen von <em><strong>CDocument</strong></em>!</p>
<p>Das da oben ist übrigens ein etwas abgewandeltes Beispiel aus der MSDN Oct 2001 <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>Ausserdem ist eigentlich folgendes das Konzept: Die Viewer Klasse greift auf die Daten des Documents zu. Und die Viewer Klasse hat immer die Möglichkeit, ihr Document mit <em><strong>GetDocument()</strong></em> zu bekommen. Denn Die View ist konzeptionell das UI, das Document sozusagen der &quot;Datenverwalter&quot;, mit <em><strong>Serialize(..)</strong></em> etc.</p>
<p>Gruss, Gio</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220244</guid><dc:creator><![CDATA[Gio]]></dc:creator><pubDate>Tue, 30 Jan 2007 23:16:31 GMT</pubDate></item><item><title><![CDATA[Reply to Datenaustausch Dokument &amp;lt;-&amp;gt; View on Wed, 31 Jan 2007 07:25:45 GMT]]></title><description><![CDATA[<p>Schau mal hier:<br />
<a href="http://www.codeguru.com/forum/showthread.php?s=de51a02e175259bd245eb5169fffa70f&amp;t=276622&amp;goto=nextnewest" rel="nofollow">http://www.codeguru.com/forum/showthread.php?s=de51a02e175259bd245eb5169fffa70f&amp;t=276622&amp;goto=nextnewest</a></p>
<p>Da sind mal die wichtigsten Zugriffe in einem Überblick dargestellt. Auch aus anderen Klassen heraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220286</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Wed, 31 Jan 2007 07:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datenaustausch Dokument &amp;lt;-&amp;gt; View on Wed, 31 Jan 2007 19:00:11 GMT]]></title><description><![CDATA[<p>Danke euch beiden.<br />
Gio, dein Beispiel funktioniert wunderbar.<br />
Ich habs mit der Datentrennung nicht so genau genommen, die meisten Daten werden bei mir in der View erzeugt bzw. verarbeitet.</p>
<p>Nochmals Danke für die schnellen und kompetenten Antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220716</guid><dc:creator><![CDATA[nightrider]]></dc:creator><pubDate>Wed, 31 Jan 2007 19:00:11 GMT</pubDate></item></channel></rss>