<?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[Kleine Designfrage]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine kleine Designfrage:<br />
Angenommen ich habe eine Dokument/Ansicht Struktur.<br />
In einer Methode der View benutze ich nun irgendeinen Dialog, z.B. CBeispielDlg:</p>
<p>void CIrgendwasView::Test()<br />
{<br />
CBeispielDlg dlg;<br />
dlg.DoModal();<br />
...<br />
}</p>
<p>In dem Dialog möchte ich nun auf das Dokument (CIrgendwasDoc) zugreifen.<br />
In der View mache ich das ja über GetDocument().<br />
Ich habe bisher einen Zeiger auf das Dokument an den Dialog übergeben:</p>
<p>CBeispielDlg dlg(GetDocument());<br />
dlg.DoModal();<br />
...</p>
<p>Der Dialog konnte nun direkt auf das Dokument zugreifen. Jetzt habe ich aber gehört, dass man das so nicht macht, sondern auf folgendem Wege: Der BeispielDialog holt sich einen Vater (Parent), welches ja die View ist und holt sich dann über GetDocument() das Dokument. Meine Frage: Mit welcher Methode bekomme ich den Zeiger auf den Vaterdialog (sprich die View)? Muss ich da in der View auch einen Zeiger auf dieselbe beim Konstruktoraufruf des Beispieldialogs übergeben?</p>
<p>Kein weltbewegendes Thema, aber währe nett, wenn Ihr mir das erklähren würdet. Ab besten mit einem kleinen Codebeispiel.<br />
Dank Euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6484/kleine-designfrage</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 11:19:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6484.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 04 Jul 2003 09:29:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 09:29:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine kleine Designfrage:<br />
Angenommen ich habe eine Dokument/Ansicht Struktur.<br />
In einer Methode der View benutze ich nun irgendeinen Dialog, z.B. CBeispielDlg:</p>
<p>void CIrgendwasView::Test()<br />
{<br />
CBeispielDlg dlg;<br />
dlg.DoModal();<br />
...<br />
}</p>
<p>In dem Dialog möchte ich nun auf das Dokument (CIrgendwasDoc) zugreifen.<br />
In der View mache ich das ja über GetDocument().<br />
Ich habe bisher einen Zeiger auf das Dokument an den Dialog übergeben:</p>
<p>CBeispielDlg dlg(GetDocument());<br />
dlg.DoModal();<br />
...</p>
<p>Der Dialog konnte nun direkt auf das Dokument zugreifen. Jetzt habe ich aber gehört, dass man das so nicht macht, sondern auf folgendem Wege: Der BeispielDialog holt sich einen Vater (Parent), welches ja die View ist und holt sich dann über GetDocument() das Dokument. Meine Frage: Mit welcher Methode bekomme ich den Zeiger auf den Vaterdialog (sprich die View)? Muss ich da in der View auch einen Zeiger auf dieselbe beim Konstruktoraufruf des Beispieldialogs übergeben?</p>
<p>Kein weltbewegendes Thema, aber währe nett, wenn Ihr mir das erklähren würdet. Ab besten mit einem kleinen Codebeispiel.<br />
Dank Euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31497</guid><dc:creator><![CDATA[Uli]]></dc:creator><pubDate>Fri, 04 Jul 2003 09:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 09:35:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Jetzt habe ich aber gehört, dass man das so nicht macht, sondern auf folgendem Wege</p>
</blockquote>
<p>Hat der-/diejenige das auch begründet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31498</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 04 Jul 2003 09:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 12:30:00 GMT]]></title><description><![CDATA[<p>Na ja ... nicht so richtig. Es war ein Professor an einer FH. Es sollen wohl so unnötige Membervariablen vermieden werden.</p>
<p>Ich persönlich finden den Weg mit der Übergabe des Dokuments besser.<br />
Trotzdem wüßte ich gern, wie es auf dem vom Prof. beschriebenen Weg geht.<br />
Kannst du vielleicht ein kleines Beispiel angeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31499</guid><dc:creator><![CDATA[Uli]]></dc:creator><pubDate>Fri, 04 Jul 2003 12:30:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 12:40:00 GMT]]></title><description><![CDATA[<p>Dann frag Deinen Professor, was ihm lieber ist. Entweder eine Zeigervariable mehr oder<br />
- 2 RuntimeCheck-Abfragen, ob es sich bei dem Parent zum ersten um ein gültiges View handelt und zweitens dieses View auch ein für den Dialog gültiges Dokument besitzt<br />
sowie<br />
- wie der Dialog benutzt werden soll, wenn der Dialog modal ausgeführt wird (der Dialog gar keinen Parent besitzt), oder das ParentView gerade nicht sichtbar ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31500</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 04 Jul 2003 12:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 14:04:00 GMT]]></title><description><![CDATA[<p>Was der Prof sicherlich meinte betrifft ein anderes Problem:<br />
Dialoge (zumindest modale) sollten an sich möglichst nicht das Dokument kennen.<br />
(so sind sie für andere Dokumente wiederverwendbar).<br />
Ein modaler Dialog stellt eine bestimmte Funktion bereit.<br />
Am Anfang füttert man die Daten rein. Dann zeigt man den Dialog. NAch beendigung liest man die Daten aus, und schreibt sie nun z.B. ins Dokument.<br />
Aber der Dialog sollte das nicht selbst machen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31501</guid><dc:creator><![CDATA[scrontch]]></dc:creator><pubDate>Fri, 04 Jul 2003 14:04:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 14:06:00 GMT]]></title><description><![CDATA[<p>Was der Prof sicherlich meinte betrifft ein anderes Problem:<br />
Dialoge (zumindest modale) sollten an sich möglichst nicht das Dokument kennen.<br />
(so sind sie für andere Dokumente wiederverwendbar).<br />
Ein modaler Dialog stellt eine bestimmte Funktion bereit.<br />
Am Anfang füttert man die Daten rein. Dann zeigt man den Dialog. NAch beendigung liest man die Daten aus, und schreibt sie nun z.B. ins Dokument.<br />
Aber der Dialog sollte das nicht selbst machen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31502</guid><dc:creator><![CDATA[scrontch]]></dc:creator><pubDate>Fri, 04 Jul 2003 14:06:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 15:40:00 GMT]]></title><description><![CDATA[<p>Ja, da hast du Recht.<br />
Aber du weißt ja, wie es ist ... manchmal sündigt man.<br />
Totzdem danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31503</guid><dc:creator><![CDATA[Uli]]></dc:creator><pubDate>Fri, 04 Jul 2003 15:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 15:51:00 GMT]]></title><description><![CDATA[<p>Hey, scrontch! Willst du das nicht nochmal posten? :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <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/31504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31504</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 04 Jul 2003 15:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 15:53:00 GMT]]></title><description><![CDATA[<p>Was der Prof sicherlich meinte betrifft ein anderes Problem:<br />
Dialoge (zumindest modale) sollten an sich möglichst nicht das Dokument kennen.<br />
(so sind sie für andere Dokumente wiederverwendbar).<br />
Ein modaler Dialog stellt eine bestimmte Funktion bereit.<br />
Am Anfang füttert man die Daten rein. Dann zeigt man den Dialog. NAch beendigung liest man die Daten aus, und schreibt sie nun z.B. ins Dokument.<br />
Aber der Dialog sollte das nicht selbst machen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31505</guid><dc:creator><![CDATA[scrontch]]></dc:creator><pubDate>Fri, 04 Jul 2003 15:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Fri, 04 Jul 2003 16:15:00 GMT]]></title><description><![CDATA[<p>Sorry, kommt von der dummen Angewohnheit immer die Back-Buttons des Browsers zu benutzen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Der letze Beitrag war wie du dir denken kannst nicht von mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31506</guid><dc:creator><![CDATA[scrontch]]></dc:creator><pubDate>Fri, 04 Jul 2003 16:15:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Designfrage on Mon, 07 Jul 2003 07:21:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Am Anfang füttert man die Daten rein. Dann zeigt man den Dialog. NAch beendigung liest man die Daten aus, und schreibt sie nun z.B. ins Dokument.
Aber der Dialog sollte das nicht selbst machen!
</code></pre>
<p>Das funktioniert allerdings nur dann, wenn der Dialog modal angezeigt wird und man ausserhalb abfangen kann, ob der Dialog mit IDOK beendet wurde.<br />
Bei nichtmodalen Dialogen oder PropertyPages, die einen 'Übernehmen'-Button besitzen und sich daraufhin nicht beenden, muss der Dialog die Daten an die Quelle weitergeben, so dass diese die Änderungen gleich sichtbar machen kann.</p>
<p>Ich persönlich finde die Übernehmen-Knöpfe sehr schön, da man nicht ständig den Dialog neu aufrufen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/31507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/31507</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Mon, 07 Jul 2003 07:21:00 GMT</pubDate></item></channel></rss>