<?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[Problem mit Trennung von Doc und View]]></title><description><![CDATA[<p>Hi,</p>
<p>mein Problem betrifft wie der Titel schhon sagt die Trennun von Doc und View.<br />
Allendings ist das Prob. eher technischer Natur.<br />
Mein Projekt beinhaltet ein RTFView und ein RTFContol.<br />
Nun soll einfach eine Textdatei geladen werden und der Inhalt im View Angezeigt werden !<br />
Da das Doc die Daten hält habe ich eine globale Variable</p>
<pre><code class="language-cpp">CString cstrAusgabe;
</code></pre>
<p>in der Doc.h angelegt.<br />
Due Lade Routine habe ich in die View.cpp gepackt in onFileNew(). Dort übergebe ich den Inhalt der Textdatei an die Variable in der Doc.h</p>
<pre><code class="language-cpp">pDoc-&gt;cstrAusgabe = str;
</code></pre>
<p>.<br />
Die Ausgabe der Texdatei erfolgt ebenfalls in der Viel.cpp in onInitialUpdate().<br />
Dort hohle ich die Daten aus der Variablen in Doc.h !</p>
<p>Nur wird nichts ausgegeben, ohne Fehlermeldung !<br />
Es passiert nichts !<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hier der Code in der View.cpp :</p>
<pre><code class="language-cpp">void CSDI_Weg_durchs_LabyrinthView::OnInitialUpdate()
{		
 		CSDI_Weg_durchs_LabyrinthDoc *pDoc = GetDocument ();

		CRichEditCtrl&amp; rCtrl = GetRichEditCtrl(); // Pointer auf das RichEditControl erstellen um dessen Funktionen zu nutzen
		CHARFORMAT cfm;							  // Struktur die die Aktionen der Selektion enthält
		CFont myFont;
		myFont.CreatePointFont(150,&quot;Terminal&quot;,NULL); // Font erstellen
	  	rCtrl.SetFont(&amp;myFont);

		rCtrl.ReplaceSel(pDoc-&gt;cstrAusgabe);
		// rCtrl.SetSel(0,100);		
		cfm.cbSize		= sizeof(CHARFORMAT);			// Funktionen
		cfm.dwMask		= CFM_BOLD;						// des RichEditCONTROLS zur
		cfm.dwEffects	= CFM_BOLD;						// formatierten Darstellung benutzen
  		rCtrl.SetSelectionCharFormat (cfm);				// Aktionen der Selektion ausführen

	// Druckränder festlegen (720 Twips = 1/2 Zoll).
	SetMargins(CRect(720, 720, 720, 720));
}
</code></pre>
<pre><code class="language-cpp">void CSDI_Weg_durchs_LabyrinthView::OnFileOpen() 
{
	 	char strFilter[] = { &quot;txt Files (*.txt)|*.txt|All Files (*.*)|*.*||&quot; }; // Filterstring für den Windows Dialog Datei - Öffnen
	    CFileDialog m_File(TRUE, &quot;.txt&quot;, NULL, 0, strFilter); // Objekt der Klasse CFileDialog erstellen
		CFile	file;										  // Objekt der Klasse CFile erstellen
		CSDI_Weg_durchs_LabyrinthDoc *pDoc = GetDocument ();

		TCHAR *str = NULL;
		CString m_strDateiname;

	    if(m_File.DoModal()==IDOK)							// Dialogfeld öffnen und Ergebnis auffangen
	    {	
			m_strDateiname = m_File.GetFileName();			// Gewählten Dateinamen ermitteln

			file.Open(m_File.GetFileName(), file.modeRead); // Ausgewählte Datei öffnen
			str = new TCHAR[(file.GetLength())+1];			// TChar Array auf Heap schieben damit es dynamisch wird
			str[(file.GetLength())] = '\0';					// TChar Array mit 0 terminieren
			file.Read(str, file.GetLength());				// File lesen und Array str mit Werten füllen

		 	pDoc-&gt;cstrAusgabe = str;								// Werte von TChar Array in CString &quot;cstrAusgabe&quot; schreiben	
			file.Close();									// File wieder schließen
			delete[]str;
	    }			

}
</code></pre>
<p>hoffentlich könnt Ihr mir helfen ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Danke auf jeden Fall...!!!<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189739/problem-mit-trennung-von-doc-und-view</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 18:40:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189739.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Aug 2007 11:17:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Trennung von Doc und View on Thu, 16 Aug 2007 11:17:16 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>mein Problem betrifft wie der Titel schhon sagt die Trennun von Doc und View.<br />
Allendings ist das Prob. eher technischer Natur.<br />
Mein Projekt beinhaltet ein RTFView und ein RTFContol.<br />
Nun soll einfach eine Textdatei geladen werden und der Inhalt im View Angezeigt werden !<br />
Da das Doc die Daten hält habe ich eine globale Variable</p>
<pre><code class="language-cpp">CString cstrAusgabe;
</code></pre>
<p>in der Doc.h angelegt.<br />
Due Lade Routine habe ich in die View.cpp gepackt in onFileNew(). Dort übergebe ich den Inhalt der Textdatei an die Variable in der Doc.h</p>
<pre><code class="language-cpp">pDoc-&gt;cstrAusgabe = str;
</code></pre>
<p>.<br />
Die Ausgabe der Texdatei erfolgt ebenfalls in der Viel.cpp in onInitialUpdate().<br />
Dort hohle ich die Daten aus der Variablen in Doc.h !</p>
<p>Nur wird nichts ausgegeben, ohne Fehlermeldung !<br />
Es passiert nichts !<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Hier der Code in der View.cpp :</p>
<pre><code class="language-cpp">void CSDI_Weg_durchs_LabyrinthView::OnInitialUpdate()
{		
 		CSDI_Weg_durchs_LabyrinthDoc *pDoc = GetDocument ();

		CRichEditCtrl&amp; rCtrl = GetRichEditCtrl(); // Pointer auf das RichEditControl erstellen um dessen Funktionen zu nutzen
		CHARFORMAT cfm;							  // Struktur die die Aktionen der Selektion enthält
		CFont myFont;
		myFont.CreatePointFont(150,&quot;Terminal&quot;,NULL); // Font erstellen
	  	rCtrl.SetFont(&amp;myFont);

		rCtrl.ReplaceSel(pDoc-&gt;cstrAusgabe);
		// rCtrl.SetSel(0,100);		
		cfm.cbSize		= sizeof(CHARFORMAT);			// Funktionen
		cfm.dwMask		= CFM_BOLD;						// des RichEditCONTROLS zur
		cfm.dwEffects	= CFM_BOLD;						// formatierten Darstellung benutzen
  		rCtrl.SetSelectionCharFormat (cfm);				// Aktionen der Selektion ausführen

	// Druckränder festlegen (720 Twips = 1/2 Zoll).
	SetMargins(CRect(720, 720, 720, 720));
}
</code></pre>
<pre><code class="language-cpp">void CSDI_Weg_durchs_LabyrinthView::OnFileOpen() 
{
	 	char strFilter[] = { &quot;txt Files (*.txt)|*.txt|All Files (*.*)|*.*||&quot; }; // Filterstring für den Windows Dialog Datei - Öffnen
	    CFileDialog m_File(TRUE, &quot;.txt&quot;, NULL, 0, strFilter); // Objekt der Klasse CFileDialog erstellen
		CFile	file;										  // Objekt der Klasse CFile erstellen
		CSDI_Weg_durchs_LabyrinthDoc *pDoc = GetDocument ();

		TCHAR *str = NULL;
		CString m_strDateiname;

	    if(m_File.DoModal()==IDOK)							// Dialogfeld öffnen und Ergebnis auffangen
	    {	
			m_strDateiname = m_File.GetFileName();			// Gewählten Dateinamen ermitteln

			file.Open(m_File.GetFileName(), file.modeRead); // Ausgewählte Datei öffnen
			str = new TCHAR[(file.GetLength())+1];			// TChar Array auf Heap schieben damit es dynamisch wird
			str[(file.GetLength())] = '\0';					// TChar Array mit 0 terminieren
			file.Read(str, file.GetLength());				// File lesen und Array str mit Werten füllen

		 	pDoc-&gt;cstrAusgabe = str;								// Werte von TChar Array in CString &quot;cstrAusgabe&quot; schreiben	
			file.Close();									// File wieder schließen
			delete[]str;
	    }			

}
</code></pre>
<p>hoffentlich könnt Ihr mir helfen ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Danke auf jeden Fall...!!!<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345654</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:17:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Trennung von Doc und View on Thu, 16 Aug 2007 11:37:37 GMT]]></title><description><![CDATA[<p>OnInitialUpdate wird evtl. vorher aufgerufen.<br />
Bau einfach die ganze Behandlung in CView::OnUpdate ein. Sorge evtl. durch den Aufruf von CDocuemnt::UpdateAllViews für den gezielten Datenaustausch.</p>
<p>Du kannst auch entsprechende. Hints verwenden (Parameter von UpdateAllViews), die steuern was in OnUpdate wirklich im View geändert werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345684</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Trennung von Doc und View on Thu, 16 Aug 2007 11:40:33 GMT]]></title><description><![CDATA[<p>Hi Martin,</p>
<p>meinst Du mit ganze behandlung den Teil der in onInitialUpdate() liegt ?</p>
<p>;9<br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345685</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:40:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Trennung von Doc und View on Thu, 16 Aug 2007 11:57:55 GMT]]></title><description><![CDATA[<p>Hmmm wenn ich in OnUpdate direkt einen Text ausgeben lassen will geht das aber auch nicht !</p>
<p><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="😉"
    /><br />
ShadowEater</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345704</guid><dc:creator><![CDATA[ShadowEater]]></dc:creator><pubDate>Thu, 16 Aug 2007 11:57:55 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Trennung von Doc und View on Thu, 16 Aug 2007 12:44:21 GMT]]></title><description><![CDATA[<p>Nein! Ich meine nur die Übergabe der Daten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345731</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 16 Aug 2007 12:44:21 GMT</pubDate></item></channel></rss>