<?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[Child und Parent Dialog]]></title><description><![CDATA[<p>kennt eine gute Anleitung, Tutorial, HowTo oder was auch immer wo das mit dem casten für Idioten beschrieben ist?<br />
Ich schaffe es nicht bei 2 Dialogen von dem child Dialog auf eine Methode in dem parent Dialog Zugriff zu bekommen.</p>
<p>Parent Dialog (CMyDialog1) ist nicht mein Main Window. (ich glaub es ist wichtig zu wissen)</p>
<p>Parent Dialog</p>
<pre><code class="language-cpp">class CMyDialog1 : public CDialog
{
...
protected:
	CEdit	m_ctrlName;
}

void CMyDialog1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT_NAME, m_ctrlName);
}

BEGIN_MESSAGE_MAP(CMyDialog1, CDialog)
	ON_BN_CLICKED(IDC_OPEN_DIALOG2, OnBnClickedOpenDialog2)
END_MESSAGE_MAP()

...

void CMyDialog1::SetStatic(CString myName)
{
	m_ctrlName.SetWindowText(myName);
}

void CMyDialog1::OnBnClickedOpenDialog2()
{
	CMyDialog2 editDlgd;
	editDlgd.DoModal();
}
</code></pre>
<p>child Dialog</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(CMyDialog2, CDialog)
	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
END_MESSAGE_MAP()

...

void CMyDialog2::OnBnClickedButton1()
{
	// hier soll dann SetStatic(CString myName) aus dem CMyDialog1 aufgerufen werden
}
</code></pre>
<p>wenn ich irgendwo in dem CMyDialog1 SetStatic(&quot;egal was auch immer&quot;), dann wird es auch in dem CEdit der String &quot;egal was auch immer&quot; angezeigt.</p>
<p>Auf dem CMyDialog1 ist noch ein Button IDC_OPEN_DIALOG2, mit dem ich ein zweites Dialog Fenster öffne und wenn ich dort auf einen Button klicke soll ein String an SetStatic(CString myName) ausgeführt werden.</p>
<p>Ich hoffe ich hab es halbweg verständlich beschrieben.</p>
<p>Viel, viel, viel, viel für die Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152636/child-und-parent-dialog</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 21:38:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152636.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Jul 2006 05:08:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Child und Parent Dialog on Sat, 08 Jul 2006 05:08:56 GMT]]></title><description><![CDATA[<p>kennt eine gute Anleitung, Tutorial, HowTo oder was auch immer wo das mit dem casten für Idioten beschrieben ist?<br />
Ich schaffe es nicht bei 2 Dialogen von dem child Dialog auf eine Methode in dem parent Dialog Zugriff zu bekommen.</p>
<p>Parent Dialog (CMyDialog1) ist nicht mein Main Window. (ich glaub es ist wichtig zu wissen)</p>
<p>Parent Dialog</p>
<pre><code class="language-cpp">class CMyDialog1 : public CDialog
{
...
protected:
	CEdit	m_ctrlName;
}

void CMyDialog1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT_NAME, m_ctrlName);
}

BEGIN_MESSAGE_MAP(CMyDialog1, CDialog)
	ON_BN_CLICKED(IDC_OPEN_DIALOG2, OnBnClickedOpenDialog2)
END_MESSAGE_MAP()

...

void CMyDialog1::SetStatic(CString myName)
{
	m_ctrlName.SetWindowText(myName);
}

void CMyDialog1::OnBnClickedOpenDialog2()
{
	CMyDialog2 editDlgd;
	editDlgd.DoModal();
}
</code></pre>
<p>child Dialog</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(CMyDialog2, CDialog)
	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
END_MESSAGE_MAP()

...

void CMyDialog2::OnBnClickedButton1()
{
	// hier soll dann SetStatic(CString myName) aus dem CMyDialog1 aufgerufen werden
}
</code></pre>
<p>wenn ich irgendwo in dem CMyDialog1 SetStatic(&quot;egal was auch immer&quot;), dann wird es auch in dem CEdit der String &quot;egal was auch immer&quot; angezeigt.</p>
<p>Auf dem CMyDialog1 ist noch ein Button IDC_OPEN_DIALOG2, mit dem ich ein zweites Dialog Fenster öffne und wenn ich dort auf einen Button klicke soll ein String an SetStatic(CString myName) ausgeführt werden.</p>
<p>Ich hoffe ich hab es halbweg verständlich beschrieben.</p>
<p>Viel, viel, viel, viel für die Antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093678</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Sat, 08 Jul 2006 05:08:56 GMT</pubDate></item><item><title><![CDATA[Reply to Child und Parent Dialog on Sat, 08 Jul 2006 07:49:01 GMT]]></title><description><![CDATA[<p>Übergib im Konstruktor von Dialog2 eine Referenz auf Dialog1!</p>
<p>Obwohl ich dieses Design etwas fragwürdig finde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093699</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 08 Jul 2006 07:49:01 GMT</pubDate></item><item><title><![CDATA[Reply to Child und Parent Dialog on Sat, 08 Jul 2006 22:31:56 GMT]]></title><description><![CDATA[<p>kennst du einen beispiel dafür, am besten mit 2 dialogen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094202</guid><dc:creator><![CDATA[Morides]]></dc:creator><pubDate>Sat, 08 Jul 2006 22:31:56 GMT</pubDate></item><item><title><![CDATA[Reply to Child und Parent Dialog on Sun, 09 Jul 2006 11:36:01 GMT]]></title><description><![CDATA[<p>Beispiel... meine Güte einfach eine Referenz an den Konstruktor übergeben. Muss man den alles mit einem Beispiel belegen?<br />
Man lernt nicht nur durch CPP (Copy &amp; Paste Programming)... <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="🙂"
    /> SCNR</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1094354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1094354</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sun, 09 Jul 2006 11:36:01 GMT</pubDate></item></channel></rss>