<?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[Tab Control  -   Anzeigen von Untergeordneten Dialogen ??]]></title><description><![CDATA[<p>Hallo,</p>
<p>Kann mir jemand mal erklären, wie das mit Tab-Controls funktioniert?</p>
<p>Ich habe schon vieles versucht (Try-And-Error), aber leider nur Errors gehabt!</p>
<p>Ich habe ein MFC Projekt, das auf Dialogfeldern basiert. In meinem Hauptdialog (IDD_TAB_DIALOG) habe ich ein Tab-Control(IDC_TAB1) eingefügt. Jetzt habe ich in der Initialisierungsmethode des Dialogfeldes folgenden Code geschrieben:</p>
<pre><code class="language-cpp">TC_ITEM Registerseite;
	Registerseite.mask=TCIF_TEXT;
	Registerseite.pszText=&quot;Seite 1&quot;;
	Tab.InsertItem(0,&amp;Registerseite);
	Registerseite.pszText=&quot;Seite 2&quot;;
	Tab.InsertItem(1,&amp;Registerseite);
	Registerseite.pszText=&quot;Seite 3&quot;;
	Tab.InsertItem(2,&amp;Registerseite);
	Tab.SetCurSel(2);
</code></pre>
<p>Nun habe ich also einen Dialog, mit einem Tab-Control auf dem die Registerkarten &quot;Seite 1 &quot;, &quot;Seite 2&quot; und &quot;Seite 3&quot; sind.</p>
<p>Nu habe ich die OnTcnSelchangeTab1() Methode generieren lassen. Die wird immer dann aufgerufen, wenn sich im Tab was ändert.<br />
Momentan sieht die bei mir noch so aus:</p>
<pre><code class="language-cpp">void CTabDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
	MessageBox(&quot;Neue Registerkarte!&quot;);
	*pResult = 0;
}
</code></pre>
<p>In meinem Projekt habe ich jetzt ein weiteres Dialogfeld generiert. Das neue Dialogfeld ist Untergeordnet. Es at die ID: IDD_DIALOG1 .<br />
Für den Dialog habe ich eine Klasse generieren lassen die &quot;My&quot; heißt.</p>
<p>Ich kann nun theoretisch über</p>
<pre><code class="language-cpp">My op;
op.DoModal();
</code></pre>
<p>diesen Untergeordneten Dialog in mein Hauptfenster integrieren. Aber das führt dann zu einem fetten Programmabsturz. Logisch - schließlich schnappt sich dieses kleine Dialogfeld den Eingabefokus.</p>
<p>Nun bin ich mit meinem Latein am Ende!</p>
<p>Mein Ziel ist es, das wenn man auf eine Registerkarte geht, z.B. auf die Seite 2, dass dann der Dialog IDD_DIALOG1 im TabControl erscheint.<br />
Dafür brauche ich den Code, die funktion oder was immer nötig ist um das zu realisieren.<br />
Am liebsten wäre mir, wenn das funktioniert ohne das der Computer abstürzt, so wie in meinen Versuchen. <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="😃"
    /></p>
<p>Ich freu mich über jede Hilfe.</p>
<p>Viele Grüße<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195213/tab-control-anzeigen-von-untergeordneten-dialogen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 18:47:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195213.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Oct 2007 13:42:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tab Control  -   Anzeigen von Untergeordneten Dialogen ?? on Mon, 15 Oct 2007 13:42:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Kann mir jemand mal erklären, wie das mit Tab-Controls funktioniert?</p>
<p>Ich habe schon vieles versucht (Try-And-Error), aber leider nur Errors gehabt!</p>
<p>Ich habe ein MFC Projekt, das auf Dialogfeldern basiert. In meinem Hauptdialog (IDD_TAB_DIALOG) habe ich ein Tab-Control(IDC_TAB1) eingefügt. Jetzt habe ich in der Initialisierungsmethode des Dialogfeldes folgenden Code geschrieben:</p>
<pre><code class="language-cpp">TC_ITEM Registerseite;
	Registerseite.mask=TCIF_TEXT;
	Registerseite.pszText=&quot;Seite 1&quot;;
	Tab.InsertItem(0,&amp;Registerseite);
	Registerseite.pszText=&quot;Seite 2&quot;;
	Tab.InsertItem(1,&amp;Registerseite);
	Registerseite.pszText=&quot;Seite 3&quot;;
	Tab.InsertItem(2,&amp;Registerseite);
	Tab.SetCurSel(2);
</code></pre>
<p>Nun habe ich also einen Dialog, mit einem Tab-Control auf dem die Registerkarten &quot;Seite 1 &quot;, &quot;Seite 2&quot; und &quot;Seite 3&quot; sind.</p>
<p>Nu habe ich die OnTcnSelchangeTab1() Methode generieren lassen. Die wird immer dann aufgerufen, wenn sich im Tab was ändert.<br />
Momentan sieht die bei mir noch so aus:</p>
<pre><code class="language-cpp">void CTabDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
	MessageBox(&quot;Neue Registerkarte!&quot;);
	*pResult = 0;
}
</code></pre>
<p>In meinem Projekt habe ich jetzt ein weiteres Dialogfeld generiert. Das neue Dialogfeld ist Untergeordnet. Es at die ID: IDD_DIALOG1 .<br />
Für den Dialog habe ich eine Klasse generieren lassen die &quot;My&quot; heißt.</p>
<p>Ich kann nun theoretisch über</p>
<pre><code class="language-cpp">My op;
op.DoModal();
</code></pre>
<p>diesen Untergeordneten Dialog in mein Hauptfenster integrieren. Aber das führt dann zu einem fetten Programmabsturz. Logisch - schließlich schnappt sich dieses kleine Dialogfeld den Eingabefokus.</p>
<p>Nun bin ich mit meinem Latein am Ende!</p>
<p>Mein Ziel ist es, das wenn man auf eine Registerkarte geht, z.B. auf die Seite 2, dass dann der Dialog IDD_DIALOG1 im TabControl erscheint.<br />
Dafür brauche ich den Code, die funktion oder was immer nötig ist um das zu realisieren.<br />
Am liebsten wäre mir, wenn das funktioniert ohne das der Computer abstürzt, so wie in meinen Versuchen. <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="😃"
    /></p>
<p>Ich freu mich über jede Hilfe.</p>
<p>Viele Grüße<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385625</guid><dc:creator><![CDATA[Cfunc**]]></dc:creator><pubDate>Mon, 15 Oct 2007 13:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to Tab Control  -   Anzeigen von Untergeordneten Dialogen ?? on Mon, 15 Oct 2007 13:47:30 GMT]]></title><description><![CDATA[<p>Warum erzeugst du einen neuen Dialog? Du hast doch bereits einen (indem deine TabCtrl implementiert ist). Zeige doch in diesem deine Steuerelemente an. Oder geht das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385636</guid><dc:creator><![CDATA[maRKus23]]></dc:creator><pubDate>Mon, 15 Oct 2007 13:47:30 GMT</pubDate></item><item><title><![CDATA[Reply to Tab Control  -   Anzeigen von Untergeordneten Dialogen ?? on Mon, 15 Oct 2007 21:12:02 GMT]]></title><description><![CDATA[<p>Ich glaube der Springende Punkt ist die Frage:</p>
<p>&quot;Wie Integriere ich Child Dialoge in einen Hauptdialog?&quot;</p>
<p>Wenn ich das weiß, kann ich hoffentlich die Registerkarten Programmieren.</p>
<p>Nebenbei wäre das auch fr andere Projekte, ohne Registerkarten hilfreich!</p>
<p>MfG David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385959</guid><dc:creator><![CDATA[Cfunc**]]></dc:creator><pubDate>Mon, 15 Oct 2007 21:12:02 GMT</pubDate></item><item><title><![CDATA[Reply to Tab Control  -   Anzeigen von Untergeordneten Dialogen ?? on Tue, 16 Oct 2007 06:56:19 GMT]]></title><description><![CDATA[<p>Du bist auf dem falschen Weg. Das muss man nicht selber machen!</p>
<p>Schau Dir mal die fertigen Klassen CPropertySheet und CPropertyPage an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386061</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 16 Oct 2007 06:56:19 GMT</pubDate></item></channel></rss>