<?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[assertion fehler beim Registerkarten erstellen]]></title><description><![CDATA[<p>hi.</p>
<p>ich habe versucht in einer SDI anwendung mit der CTabCtrl Registerkarten anzulegen, jedoch stehe ich vor einem mir nicht zu lösendem Problem. habe großteils nur hilfen für Dialogfeld basierende Anwendungen gefunden und kenne mich noch nicht so gut aus wie man solche programme auf SDI anwendungen umschreibt.</p>
<p>laut meiner hilfe muss ich den folgenden code in die ::OnInitDialog elementfunktion initialisieren bei meiner SDI anwendung habe ich sie aber jedoch in meine OnInitUpdate() funktion geschrieben damit die tabs am start der anwendung initialisiert werden, jedoch bekomme ich immer einen assertion fehler(Debug Assertion Failed!) wenn er m_cTab.InsertItem(i, &amp;tcItem); aufruft:</p>
<pre><code>void Ctab1View::OnInitialUpdate(void)
{	
	int i;
	CTabCtrl m_cTab;
	TC_ITEM tcItem;
	PSTR pszTabItems[] = {_T(&quot;site1&quot;), _T(&quot;site2&quot;), _T(&quot;site3&quot;), NULL};
	i=0;

	for (i = 0; pszTabItems[i] != NULL; i++)
	{
		tcItem.mask = TCIF_TEXT;
		tcItem.pszText = pszTabItems[i];
		tcItem.cchTextMax = strlen(pszTabItems[i]);
		m_cTab.InsertItem(i, &amp;tcItem);
	}
}
</code></pre>
<p>der code sieht eigentlich nach standard erstellung für tabs aus, welche ich öfters gefunden habe doch fand ich keine lösung für das problem.</p>
<p>irgendwelche ideen für mich?</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140350/assertion-fehler-beim-registerkarten-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 00:52:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140350.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Mar 2006 11:27:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to assertion fehler beim Registerkarten erstellen on Tue, 14 Mar 2006 11:27:00 GMT]]></title><description><![CDATA[<p>hi.</p>
<p>ich habe versucht in einer SDI anwendung mit der CTabCtrl Registerkarten anzulegen, jedoch stehe ich vor einem mir nicht zu lösendem Problem. habe großteils nur hilfen für Dialogfeld basierende Anwendungen gefunden und kenne mich noch nicht so gut aus wie man solche programme auf SDI anwendungen umschreibt.</p>
<p>laut meiner hilfe muss ich den folgenden code in die ::OnInitDialog elementfunktion initialisieren bei meiner SDI anwendung habe ich sie aber jedoch in meine OnInitUpdate() funktion geschrieben damit die tabs am start der anwendung initialisiert werden, jedoch bekomme ich immer einen assertion fehler(Debug Assertion Failed!) wenn er m_cTab.InsertItem(i, &amp;tcItem); aufruft:</p>
<pre><code>void Ctab1View::OnInitialUpdate(void)
{	
	int i;
	CTabCtrl m_cTab;
	TC_ITEM tcItem;
	PSTR pszTabItems[] = {_T(&quot;site1&quot;), _T(&quot;site2&quot;), _T(&quot;site3&quot;), NULL};
	i=0;

	for (i = 0; pszTabItems[i] != NULL; i++)
	{
		tcItem.mask = TCIF_TEXT;
		tcItem.pszText = pszTabItems[i];
		tcItem.cchTextMax = strlen(pszTabItems[i]);
		m_cTab.InsertItem(i, &amp;tcItem);
	}
}
</code></pre>
<p>der code sieht eigentlich nach standard erstellung für tabs aus, welche ich öfters gefunden habe doch fand ich keine lösung für das problem.</p>
<p>irgendwelche ideen für mich?</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1015927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1015927</guid><dc:creator><![CDATA[Milchmann]]></dc:creator><pubDate>Tue, 14 Mar 2006 11:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to assertion fehler beim Registerkarten erstellen on Tue, 14 Mar 2006 18:47:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du must in Deiner View-Klasse eine Membervariable vom Typ CTabCtrl erstellen.<br />
Dann erzeugst Du das Control in OnCreate.</p>
<p>Nach der Erstellung mit Create in OnCreate fügst Du deine Tabs ein.</p>
<p>Danach schreibst Du einen Nachrichtenhandler für WM_SIZE (also OnSize)<br />
in der Du mit z.B. SetWindowPos das Tabulator-Control Deinem Clientbereich<br />
anpaßt.</p>
<p>Etwas Code der Dir weiterhelfen sollte:</p>
<pre><code class="language-cpp">int CTabView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	// erzeuge des TabControls 
	if ( !m_wndTabCtrl.Create(TCS_TABS|TCS_FIXEDWIDTH|WS_CHILD|WS_VISIBLE, CRect(0,0,0,0), this, AFX_IDW_PANE_FIRST) )
		return -1;

	// 5 Tabs dem Control hinzufügen
	for ( int i = 0; i &lt; 5; i++ )
	{
		CString strTabulator;
		strTabulator.Format(_T(&quot;Tab #%02d&quot;), i);
		TCITEM tci;
		tci.mask = TCIF_TEXT;
		tci.pszText = (LPSTR)(LPCTSTR)strTabulator;

		m_wndTabCtrl.InsertItem(i, &amp;tci);
	}

	return 0;
}

void CTabView::OnSize(UINT nType, int cx, int cy)
{
	CWnd::OnSize(nType, cx, cy);

	// TabControl dem Clientbereich anpassen
	if ( m_wndTabCtrl.GetSafeHwnd() )
		m_wndTabCtrl.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOACTIVATE|SWP_NOZORDER);
}
</code></pre>
<p>Gruss<br />
EB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016259</guid><dc:creator><![CDATA[EB]]></dc:creator><pubDate>Tue, 14 Mar 2006 18:47:49 GMT</pubDate></item><item><title><![CDATA[Reply to assertion fehler beim Registerkarten erstellen on Mon, 20 Mar 2006 11:54:55 GMT]]></title><description><![CDATA[<p>hat sich erledigt, danke:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020002</guid><dc:creator><![CDATA[Milchmann]]></dc:creator><pubDate>Mon, 20 Mar 2006 11:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to assertion fehler beim Registerkarten erstellen on Mon, 20 Mar 2006 13:44:38 GMT]]></title><description><![CDATA[<p>die tabs an sich funktioneren eigentlich nur wie kann ich jetzt zwischen ihnen hin und her switchen und immer die aktuelle view wählen. also wie find ich heraus welcher tab gerade aktiv ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1020291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1020291</guid><dc:creator><![CDATA[Milchmann]]></dc:creator><pubDate>Mon, 20 Mar 2006 13:44:38 GMT</pubDate></item></channel></rss>