<?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[Hilfe bei Berechnung eines Scrollbalkens]]></title><description><![CDATA[<p>Hi.<br />
Ich bastel mir gerade einen eigenen Scrollbalken für ein GUI das ich komplett selbst entwerfe (für eine SDL App). Das ganze hat bis jetzt auch super funktioniert, die Hoch- und Runterknöpfe funktionieren. Jedoch komme ich jetzt dazu, um auszurechnen, wie lang der Scrollbalken (also der längere Button in der Mitte) sein soll und wie man ausrechnet, an welche Position man scrollen muss, wenn der Balken an der und der Position ist.</p>
<p>Momentan habe ich folgende Variablen zur Verfügung:<br />
iStart &gt; gibt aktuelle, oberste dargestellte Zeile an<br />
iLines &gt; gibt maximale, anzuzeigene Zeilen an<br />
iHeight &gt; höhe des Bereichs in Pixeln<br />
vecLines &gt; Vektor aller Zeilen<br />
iLineHeight &gt; (konstante) Höhe einer Zeile: 15 Pixel</p>
<p>Ich habe dabei leider überhaupt keine Idee, weder finde ich Hilfe per Google :&lt;<br />
Hoffentlich kann mir da (mal wieder) jemand helfen :&gt;</p>
<p>Danke im voraus!</p>
<p>~ Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242649/hilfe-bei-berechnung-eines-scrollbalkens</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 00:10:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242649.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Jun 2009 14:55:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Berechnung eines Scrollbalkens on Sat, 06 Jun 2009 14:55:20 GMT]]></title><description><![CDATA[<p>Hi.<br />
Ich bastel mir gerade einen eigenen Scrollbalken für ein GUI das ich komplett selbst entwerfe (für eine SDL App). Das ganze hat bis jetzt auch super funktioniert, die Hoch- und Runterknöpfe funktionieren. Jedoch komme ich jetzt dazu, um auszurechnen, wie lang der Scrollbalken (also der längere Button in der Mitte) sein soll und wie man ausrechnet, an welche Position man scrollen muss, wenn der Balken an der und der Position ist.</p>
<p>Momentan habe ich folgende Variablen zur Verfügung:<br />
iStart &gt; gibt aktuelle, oberste dargestellte Zeile an<br />
iLines &gt; gibt maximale, anzuzeigene Zeilen an<br />
iHeight &gt; höhe des Bereichs in Pixeln<br />
vecLines &gt; Vektor aller Zeilen<br />
iLineHeight &gt; (konstante) Höhe einer Zeile: 15 Pixel</p>
<p>Ich habe dabei leider überhaupt keine Idee, weder finde ich Hilfe per Google :&lt;<br />
Hoffentlich kann mir da (mal wieder) jemand helfen :&gt;</p>
<p>Danke im voraus!</p>
<p>~ Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722307</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Sat, 06 Jun 2009 14:55:20 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Berechnung eines Scrollbalkens on Sat, 06 Jun 2009 15:08:04 GMT]]></title><description><![CDATA[<p>Wie soll denn das ganze funktionieren?<br />
Also Soll der Scrollbalken kleiner werden, wenn mehr Einträge da sind, oder eher konstant lang sein?<br />
Für die Navigation kannst du es ja so machen, dass, wenn der Balken ganz oben ist das 0.0 entspricht und wenn er ganz unten 1.0. Dann kannst du das ja relativ einfach ausrechen, wieviele Zeilen angezeigt werden müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722313</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 06 Jun 2009 15:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Berechnung eines Scrollbalkens on Sat, 06 Jun 2009 15:11:41 GMT]]></title><description><![CDATA[<p>Hi.<br />
Also es wäre natürlich besser, wenn sich der Scrollbalken den Anzahl der Einträgen nach anpasst. Es geht ja aber nicht nur darum, sonder auch rauszukriegen, auf welchen Wert ich iStart setzen muss, wenn der Balken bewegt wird - und dort liegen meine Probleme. Ich kann mir irgendwie keine logische Formel zusammenreimen, bei der das auch nur annähernd passen könnte.</p>
<p>~ Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722314</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Sat, 06 Jun 2009 15:11:41 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Berechnung eines Scrollbalkens on Sat, 06 Jun 2009 15:21:20 GMT]]></title><description><![CDATA[<p>Also wenn der Balken ganz unten ist, dann ist klar, dass du so weit runterscrollst, dass du das letzte Element noch siehst. Also sagen wir 50 Zeilen runter. Und wenn der Balken auf 50% ist, dann muss halt die 25igste Zeile in der Mitte sein. 25*iLineHeight = 375 Pixel runter. Dann kommt es halt noch drauf an, wie Hoch das Feld ist, aber ich denke, dass sollte mit ein wenig rumspielen kein Problem sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722319</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 06 Jun 2009 15:21:20 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Berechnung eines Scrollbalkens on Sat, 06 Jun 2009 16:08:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">scollposition = (scrollbalken-&gt;top - scrollbalken-&gt;height)/2  * lines-&gt;count*lines-&gt;height;

scrollbalken-&gt;height = bildschirm-&gt;height / (lines-&gt;count*lines-&gt;height);
if(scrollbalken-&gt;height == 1)
   scrollbalken-&gt;SetVisible(false);
</code></pre>
<p>oder so ähnlich...</p>
<p>das /2 kannste auch zu nem shift umwandeln... aber das wird dein compiler auch so machen...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722352</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 06 Jun 2009 16:08:19 GMT</pubDate></item></channel></rss>