<?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[Splitter anpassen]]></title><description><![CDATA[<p>Ich beschreib mein Problem nochmal, vielleicht könnt ihr mir dann helfen.</p>
<p>Ich hab um einen StaticSplitter an die Größenänderung des Fensters anzupassen (d.h. dass die Grenze sich relativ mitverändert) den Code in OnSize geschrieben.<br />
Das Programm stürzt jedoch mit einer Access Violation ab.<br />
Wie kann ich den Splitter anpassen ohne den Fehler zu bekommen?</p>
<pre><code class="language-cpp">void CMainFrame::OnSize(UINT nType, int cx, int cy)  
{ 
    CFrameWnd::OnSize(nType, cx, cy); 

    // TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen 

    CRect rect; 
    GetClientRect(rect); 

    m_wndSplitter.SetRowInfo(0,rect.Height(),1); 
    m_wndSplitter.SetColumnInfo(0,rect.Width()*3/4,1); 
    m_wndSplitter.SetColumnInfo(0,rect.Width()/4,1); 

    m_wndSplitter.RecalcLayout(); 
}
</code></pre>
<p>Ich hab echt keine Ahnung woran es liegen könnte!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/50918/splitter-anpassen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 31 May 2026 10:47:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/50918.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Oct 2003 10:51:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Splitter anpassen on Sun, 05 Oct 2003 10:51:24 GMT]]></title><description><![CDATA[<p>Ich beschreib mein Problem nochmal, vielleicht könnt ihr mir dann helfen.</p>
<p>Ich hab um einen StaticSplitter an die Größenänderung des Fensters anzupassen (d.h. dass die Grenze sich relativ mitverändert) den Code in OnSize geschrieben.<br />
Das Programm stürzt jedoch mit einer Access Violation ab.<br />
Wie kann ich den Splitter anpassen ohne den Fehler zu bekommen?</p>
<pre><code class="language-cpp">void CMainFrame::OnSize(UINT nType, int cx, int cy)  
{ 
    CFrameWnd::OnSize(nType, cx, cy); 

    // TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen 

    CRect rect; 
    GetClientRect(rect); 

    m_wndSplitter.SetRowInfo(0,rect.Height(),1); 
    m_wndSplitter.SetColumnInfo(0,rect.Width()*3/4,1); 
    m_wndSplitter.SetColumnInfo(0,rect.Width()/4,1); 

    m_wndSplitter.RecalcLayout(); 
}
</code></pre>
<p>Ich hab echt keine Ahnung woran es liegen könnte!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/366174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/366174</guid><dc:creator><![CDATA[Slayer]]></dc:creator><pubDate>Sun, 05 Oct 2003 10:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to Splitter anpassen on Sun, 05 Oct 2003 11:52:00 GMT]]></title><description><![CDATA[<p>Hast du schonmal den Debugger benutzt um die Codezeile zu finden wo es abstürzt ?<br />
Nein: Dann mach das. Sollen wir sonst raten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/366198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/366198</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Sun, 05 Oct 2003 11:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to Splitter anpassen on Sun, 05 Oct 2003 12:56:09 GMT]]></title><description><![CDATA[<p>Natürlich hab ich den Debugger benutzt, es stürzt genau an dieser Zeile ab:</p>
<pre><code class="language-cpp">m_wndSplitter.SetRowInfo(0,rect.Height(),1);
</code></pre>
<p>Wenn ich die SetRow Zeile weglasse dann stürzt es bei</p>
<pre><code class="language-cpp">m_wndSplitter.SetColumnInfo(0,rect.Width()*3/4,1);
</code></pre>
<p>ab.</p>
<p>Der Debugger springt dann zu folgendem Code:</p>
<pre><code class="language-cpp">void CSplitterWnd::SetRowInfo(int row, int cyIdeal, int cyMin)
{
	ASSERT_VALID(this);
	ASSERT(row &gt;= 0 &amp;&amp; row &lt; m_nMaxRows);
	ASSERT(cyIdeal &gt;= 0);
	ASSERT(cyMin &gt;= 0);

	m_pRowInfo[row].nIdealSize = cyIdeal;
	m_pRowInfo[row].nMinSize = cyMin;
}
</code></pre>
<p>und setzt eine Markierung bei m_pRowInfo[row].nIdeal ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/366228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/366228</guid><dc:creator><![CDATA[Slayer]]></dc:creator><pubDate>Sun, 05 Oct 2003 12:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to Splitter anpassen on Sun, 05 Oct 2003 16:54:24 GMT]]></title><description><![CDATA[<p>Kann mir keiner helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/366343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/366343</guid><dc:creator><![CDATA[Slayer]]></dc:creator><pubDate>Sun, 05 Oct 2003 16:54:24 GMT</pubDate></item><item><title><![CDATA[Reply to Splitter anpassen on Mon, 06 Oct 2003 16:02:59 GMT]]></title><description><![CDATA[<p>Hat wirklich keiner eine Idee wie man den Splitter anpasst, irgendwas?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/366934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/366934</guid><dc:creator><![CDATA[Slayer]]></dc:creator><pubDate>Mon, 06 Oct 2003 16:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to Splitter anpassen on Wed, 08 Oct 2003 07:32:56 GMT]]></title><description><![CDATA[<p>Das OnSize des MainFrames kommt bevor der Splitter vollständig ist. Der Splitter wird erst bei OnClientCreate aufgebaut<br />
und ist beim ersten Durchlauf des OnSize vom MainFrame noch nicht fertig.<br />
Vielleicht ist es auch besser das OnSize des Splitters abzufangen.<br />
Ich habe leider keine bessere Abfrage gefunden, aber vieleicht hilft es ja.</p>
<pre><code class="language-cpp">void CMainFrame::OnSize(UINT nType, int cx, int cy) 
{
  if(!m_wndSplitter.IsIconic() &amp;&amp; m_wndSplitter.IsWindowVisible())
  {
    m_wndSplitter.SetRowInfo(0,rect.Height(),1);  
    m_wndSplitter.SetColumnInfo(0,rect.Width()*3/4,1);  
    m_wndSplitter.SetColumnInfo(0,rect.Width()/4,1);  

    m_wndSplitter.RecalcLayout();
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/368035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/368035</guid><dc:creator><![CDATA[idefix]]></dc:creator><pubDate>Wed, 08 Oct 2003 07:32:56 GMT</pubDate></item></channel></rss>