<?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[Probleme mit Scrollbars]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem, ich möchte Scrollbar haben mit der der User einen Wert zwischen 1 und 100 auswählen kann. Ich habe das jetzt mal ausprobiert:</p>
<p>(Window Procedure)</p>
<pre><code class="language-cpp">CreateWindow(&quot;SCROLLBAR&quot;, NULL, WS_CHILD | WS_VISIBLE, 120, 30, 50, 20, hwnd, (HMENU) 10, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
SetScrollRange(GetDlgItem(hwnd,10), SB_HORZ, 0, 10, true);
SetScrollPos(GetDlgItem(hwnd,10), SB_HORZ, 10, true);
</code></pre>
<p>Problem: Ich habe mit manifest WindowsXp Style angestellt. Jetzt erscheit aber über dem Xp Scrollbalken ein alter Win98 Scrollbalken. Woran liegt das? Wenn ich die Funktionen SetScrollRange() und SetScrollPos wegnehme habe ich keine Probleme.</p>
<p>Problem Nr.2:</p>
<pre><code class="language-cpp">int pos;
...
case WM_???:
pos = GetScrollPos(GetDlgItem(hwnd,10), SB_HORZ);
break;
</code></pre>
<p>Welche Windows Nachricht muss ich nehmen damit diese case Abfrage beim verändern der Position aufgerufen wird. (steht alles in der Nachrichtenschleife!)</p>
<p>UND</p>
<p>pos ist immer 0!!!<br />
Ich will das in pos immer die aktuelle Position der Scrolleiste steht.<br />
Mache ich bei der Abfrage irgendeinen Fehler?</p>
<p>So ich habe hier heute schon ein paar mal gepostet (zu anderen Themen), aber wie ihr seht hab ich dar ein paar kleine Probleme ....</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/83580/probleme-mit-scrollbars</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 12:56:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/83580.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Aug 2004 15:57:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Scrollbars on Sun, 22 Aug 2004 15:57:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem, ich möchte Scrollbar haben mit der der User einen Wert zwischen 1 und 100 auswählen kann. Ich habe das jetzt mal ausprobiert:</p>
<p>(Window Procedure)</p>
<pre><code class="language-cpp">CreateWindow(&quot;SCROLLBAR&quot;, NULL, WS_CHILD | WS_VISIBLE, 120, 30, 50, 20, hwnd, (HMENU) 10, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
SetScrollRange(GetDlgItem(hwnd,10), SB_HORZ, 0, 10, true);
SetScrollPos(GetDlgItem(hwnd,10), SB_HORZ, 10, true);
</code></pre>
<p>Problem: Ich habe mit manifest WindowsXp Style angestellt. Jetzt erscheit aber über dem Xp Scrollbalken ein alter Win98 Scrollbalken. Woran liegt das? Wenn ich die Funktionen SetScrollRange() und SetScrollPos wegnehme habe ich keine Probleme.</p>
<p>Problem Nr.2:</p>
<pre><code class="language-cpp">int pos;
...
case WM_???:
pos = GetScrollPos(GetDlgItem(hwnd,10), SB_HORZ);
break;
</code></pre>
<p>Welche Windows Nachricht muss ich nehmen damit diese case Abfrage beim verändern der Position aufgerufen wird. (steht alles in der Nachrichtenschleife!)</p>
<p>UND</p>
<p>pos ist immer 0!!!<br />
Ich will das in pos immer die aktuelle Position der Scrolleiste steht.<br />
Mache ich bei der Abfrage irgendeinen Fehler?</p>
<p>So ich habe hier heute schon ein paar mal gepostet (zu anderen Themen), aber wie ihr seht hab ich dar ein paar kleine Probleme ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588420</guid><dc:creator><![CDATA[flammenvogel]]></dc:creator><pubDate>Sun, 22 Aug 2004 15:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Scrollbars on Sun, 22 Aug 2004 18:57:04 GMT]]></title><description><![CDATA[<p>Wenn pos immer die aktuelle Scroll-Position enthalten soll, dann soltest du die Variable static machen.<br />
Als Message musst du WM_VSCROLL bzw. <a href="http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/scrollbars/scrollbarreference/scrollbarmessages/wm_hscroll.asp" rel="nofollow">WM_HSCROLL</a> abfangen <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/588550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588550</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 22 Aug 2004 18:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Scrollbars on Sun, 22 Aug 2004 19:00:02 GMT]]></title><description><![CDATA[<p>flammenvogel schrieb:</p>
<blockquote>
<p>Jetzt erscheit aber über dem Xp Scrollbalken ein alter Win98 Scrollbalken. Woran liegt das? Wenn ich die Funktionen SetScrollRange() und SetScrollPos wegnehme habe ich keine Probleme.</p>
</blockquote>
<p>Du solltest statt SB_HORZ wohl SB_CTL einsetzten, denn die Scrollbar ist bei dir ja ein eigenständiges Control <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/588553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588553</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 22 Aug 2004 19:00:02 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Scrollbars on Sun, 22 Aug 2004 19:23:14 GMT]]></title><description><![CDATA[<p>Jetzt habe ich in pos wenigstens immer den Standardwert aber ich kann ihn irgendwie nicht verändern (durch die Scrolleiste).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588571</guid><dc:creator><![CDATA[flammenvogel]]></dc:creator><pubDate>Sun, 22 Aug 2004 19:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Scrollbars on Sun, 22 Aug 2004 19:33:47 GMT]]></title><description><![CDATA[<p>Schau dir mal die Behandlung von WM_HSCROLL unter <a href="http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/scrollbars/usingscrollbars.asp" rel="nofollow">Using Scroll Bars</a> an <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/588579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588579</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 22 Aug 2004 19:33:47 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Scrollbars on Mon, 23 Aug 2004 18:36:08 GMT]]></title><description><![CDATA[<p>Jetzt habe ich mit WM_HSCROLL ein Problem, ich habe mehrere Scrollbars in einem Programm. WM_HSCROLL wird aber bei allen Aktionen mit Scrollbars ausgelöst. Ich habe in der MSDN unter der Nachricht WM_HSCROLL nachgekugt und festgestellt das WM_HSCROLL als lParam irgendein Handel der Scrollbox zurückgibt.</p>
<p>Aber wie immer, es funzt nicht. Soweit bin ichgekommen:</p>
<pre><code class="language-cpp">if( (HWND) lParam == GetDlgItem(hwnd,10))
{
//Ereignis behandeln
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/589400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589400</guid><dc:creator><![CDATA[flammenvogel]]></dc:creator><pubDate>Mon, 23 Aug 2004 18:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Scrollbars on Mon, 23 Aug 2004 19:57:47 GMT]]></title><description><![CDATA[<p>Du kannst ja dieses Handle direkt für die Aufrufe von GetScrollInfo und SetScrollInfo verwenden.<br />
Ansonsten finde ich eine solche Konstruktion schöner:</p>
<pre><code class="language-cpp">switch(GetDlgCtrlID((HWND)lParam))
{
 case ID_SCROLLBAR_1:
  // hier irgendwas spezielles machen
  break;
 case ID_SCROLLBAR_2:
  // hier irgendwas spezielles machen
  break;
}
</code></pre>
<p>Wenn du hier in verschiedenen Variablen von jeder Scrollbar den aktuellen Wert haben willst, kannst du auch einfach (wenn du die IDs entsprechend geschickt gewählt hast) ein Array nehmen und die ID als Index verwenden <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/589499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/589499</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 23 Aug 2004 19:57:47 GMT</pubDate></item></channel></rss>