<?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[DBGrid und onscroll?]]></title><description><![CDATA[<p>Hallo zusammen, ich hab da ein Problem. Ich muss für eine Anwendung, erkennen ob in einem DBGrid gesrcollt wurde, oder nicht. Leider gibt es kein onscroll Ereignis, dass ich dafür benutzen könnte, zumindest habe ich es nicht gefunden. Kann mir jemand weiterhelfen, wie ich dies erkennen kann?</p>
<p>Dank euch im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/101559/dbgrid-und-onscroll</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 08:20:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/101559.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Feb 2005 11:59:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 11:59:01 GMT]]></title><description><![CDATA[<p>Hallo zusammen, ich hab da ein Problem. Ich muss für eine Anwendung, erkennen ob in einem DBGrid gesrcollt wurde, oder nicht. Leider gibt es kein onscroll Ereignis, dass ich dafür benutzen könnte, zumindest habe ich es nicht gefunden. Kann mir jemand weiterhelfen, wie ich dies erkennen kann?</p>
<p>Dank euch im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725548</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Thu, 17 Feb 2005 11:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 12:18:14 GMT]]></title><description><![CDATA[<p>die mit dem DBGrid verbundene Datenquelle (DataSource) hat ein Ereignis OnDataChange, das reagiert unter anderem auf das Wechseln des Datensatzes</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725566</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Thu, 17 Feb 2005 12:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 12:23:04 GMT]]></title><description><![CDATA[<p>Am besten Du verwendest das AfterScroll-Ereignis des DataSet.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725573</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 17 Feb 2005 12:23:04 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 13:57:14 GMT]]></title><description><![CDATA[<p>So weit würde es funktionieren, mein nächstes Problem währe dann nur, dass dieses Ereignis auch ausgelöst wird, wenn das DBGrid neu gezeichnet wir. Also wenn sich da ein Eintrag ändert, würde meine Routine auch aufgerufen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725650</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Thu, 17 Feb 2005 13:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 14:09:31 GMT]]></title><description><![CDATA[<p>ja und wo ist da das Problem?</p>
<p>Wieso mußt Du erkennen können, ob im Grid gescrollt wurde? Beschreib mal die zu grunde liegende Problematik. Vielleicht ist Dein Lösungsansatz einfach nur ungünstig gewählt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725668</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 17 Feb 2005 14:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 14:24:45 GMT]]></title><description><![CDATA[<p>Im Prinzip möchte ich ein anderes Objekt verbergen, wenn die aktuelle Zeile durch Scrollen, oder eine Pfeiltaste verlassen wird. Erkennen, ob eine Pfeiltaste gedrückt wurde ist ja kein Problem. Nur zu erkennen wann gescrollt wurde schon. Jedenfalls für mich. Ich bin aber gerne offen für andere Ansätze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725689</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Thu, 17 Feb 2005 14:24:45 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 14:27:54 GMT]]></title><description><![CDATA[<p>Pat781 schrieb:</p>
<blockquote>
<p>mein nächstes Problem währe dann nur, dass dieses Ereignis auch ausgelöst wird, wenn das DBGrid neu gezeichnet wir.</p>
</blockquote>
<p>Habe ich im Zusammenhang mit dem AfterScroll-Ereignis noch nie erlebt. Beim DataChanged-Ereignis steht das ja in der Hilfe.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725696</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 17 Feb 2005 14:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 15:25:12 GMT]]></title><description><![CDATA[<p>Kann ich jetzt nix zu sagen, nur das es so leider nicht funktioniert. Liegt vielleicht an einer Nebenroutine, mit der ich eine zweite Liste abgleiche. In der Hilfe zu AfterScroll steht ja drinnen, dass dieses Ereignis auch ausgelöst wird, durch z.B. next,... Schätze mal, dass da das Problem liegt. Ich kann diese Routine aber nicht so einfach ändern, daher besteht bei mir weiterhin das selbe Problem.<br />
Vielleicht habt ihr ja noch einen Idee?</p>
<p>Gruß Pat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725751</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Thu, 17 Feb 2005 15:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 16:48:39 GMT]]></title><description><![CDATA[<p>Meinst Du mit Scrollen eigentlich &quot;Auf den nächsten Datensatz im Grid wechseln&quot; oder &quot;Den Scrollbalken verschieben&quot;?<br />
Dass das AfterScroll-Ereignis bei einem Datensatz-Wechsel, also auch bei First(), Next() usw. ausgelöst wird,<br />
ist mir schon klar. So wie Du es beschrieben hast, willst Du aber doch genau das, oder habe ich da was falsch<br />
verstanden?<br />
Wenn Du in Deiner &quot;Nebenroutine&quot; durch die Daten navigierst, navigierst Du natürlich auch automatisch im<br />
Grid - das ist ja eigentlich auch der Sinn der Sache. Wenn Du dabei das AfterScroll-Ereignis nicht behandeln<br />
möchtest, kannst Du's ja einfach vor der Routine ausblenden (Eigenschaft auf 0, bool-Variable etc.) und<br />
danach wieder aktivieren.</p>
<p>Ansonsten wäre es vielleicht ganz gut, wenn Du mal etwas ausführlicher beschreiben könntest, was Du eigentlich<br />
machen willst. Vielleicht sogar mit etwas Quelltext?</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725825</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 17 Feb 2005 16:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 17:13:27 GMT]]></title><description><![CDATA[<p>Ich mache im Prinzip einene Art Kalender. Er funktioniert auch. Dies soll nur eine art Update werden. Ich kann leider keine Codebeispiele geben, da mein Programm ca. 5000 Zeilen Code enthält.<br />
Ich versuche aber mein Problem nochmal deutlicher zu beschreiben:<br />
Ich habe ein DBGrid in welchem ich Datensätze habe und ich möchte automatisch erkennen, wenn die Zeile gewechselt wird, oder der Scroll Balken betätigt wird. Mit AfterScroll funktioniert dies leider nicht, da ich beim erzeugen der Liste den Fokus auf eine bestimmte Zeile legen muss. Wenn ich nun den Inhalt dieser Liste ändere (refresh) wird automatisch wieder ein AfterScroll Ereigniss gestartet, wegen der Postionierung.<br />
Ich brauche im Prinzip eine Idee oder Möglichkeit, wie ich erkenne wenn gescrollt wird oder eine Zeile gewechselt wird. Ich gebe zu das dies etwas ungeschickt ist. Ist aber leider aus anzeigetechnischen Gründen nicht wirklich besser realisierbar.</p>
<p>Ich hoffe ich habe es nun besser erklärt.</p>
<p>Pat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725848</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Thu, 17 Feb 2005 17:13:27 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Thu, 17 Feb 2005 17:23:22 GMT]]></title><description><![CDATA[<p>Ich kann mir zwar nur schwer vorstellen, dass das von Dir geschilderte Problem sämtliche 5000 Codezeilen<br />
betrifft, aber wie dem auch sei sollte die vorgeschlagene Lösung mit dem temporären Deaktivieren des<br />
Afterscroll-Ereignisses funktionieren.<br />
Optional könntest Du Dir natürlich auch noch die Ereignisse BeforeScroll, BeforeOpen und AfterRefresh<br />
anschauen, vielleicht helfen die Dir weiter.</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/725855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/725855</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 17 Feb 2005 17:23:22 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Fri, 18 Feb 2005 01:33:23 GMT]]></title><description><![CDATA[<p>Das Problem betrifft natürlich nicht den gesamten Code.<br />
Hast du mir vielleicht auch einen guten Tipp, wie ich AfterScroll auch wieder aktiviere? Ich denke das müsste dann der richtige weg sein.</p>
<p>Gruß Pat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/726103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/726103</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Fri, 18 Feb 2005 01:33:23 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Fri, 18 Feb 2005 06:39:30 GMT]]></title><description><![CDATA[<p>Das Einfachste dürfte sein, mit einer Hilfsvarialbe zu arbeiten. Z.B. bool bAllowAfterScroll (unter private in Deinem Form). Im Konstruktor setzt Du Variable auf den passenden Wert (ich denke mal false dürfte hier richtig sein) und in OnShow als letztes setzt Du die Variable auf true.</p>
<p>Zu Beginn der Methoden, in denen Du nicht willst, dass AfterScroll ausgeführt wird, setzt Du sie auf false, am Ende wieder auf true.</p>
<p>In der AfterScroll fügst Du den Code in die Bedingung</p>
<pre><code class="language-cpp">if (bAllowAfterScroll)
{
  // Dein bisheriger Code
}
</code></pre>
<p>ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/726144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/726144</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 18 Feb 2005 06:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Fri, 18 Feb 2005 08:51:31 GMT]]></title><description><![CDATA[<p>Die Alternative zur klassenweiten bool-Variable ist, die AfterScroll-Eigenschaft vorübergehend auf 0 zu setzen.<br />
Das könntest Du z.B. so machen:</p>
<pre><code class="language-cpp">TDataSetNotifyEvent afterScroll = Query-&gt;AfterScroll; // Ursprüngliche Ereignisbehandlung merken
Query-&gt;AfterScroll = 0; // AfterScroll-Ereignis &quot;abschalten&quot;
try
{
  // Hier alles machen, das ohne Auslösen des AfterScroll-Ereignisses gemacht werden muss
}
__finally
{
  Query-&gt;AfterScroll = afterScroll; // AfterScroll-Ereignis wieder anschalten
  // Vielleicht soll das Ereignis anschließend noch einmal ausgelöst werden? Dann könnte man das so machen
  // if (afterScroll)
  //   afterScroll(Query);
}
</code></pre>
<p>Wenn Du das AfterScroll-Ereignis an mehreren Stellen abschalten willst, ist die bool-Variable wahrscheinlich<br />
der bessere Weg. Dann musst Du aber aufpassen, dass Du nicht irgendwo das Ereignis &quot;aus Versehen&quot; wieder<br />
anschaltest.</p>
<p>Bei meinem Code sehe ich den Vorteil, dass alles was Du da mit dem An-/Abschalten anstellst wirklich nur<br />
an einer Stelle steht. Mir fällt es oft leichter den Code zu verstehen, wenn ich alles auf einmal sehe.</p>
<p>Du könntest das ganze natürlich noch weiter treiben und verschiedene AfterScroll-Routinen einhängen - je<br />
nachdem, was Du gerade brauchst. Ob das dann aber übersichtlicher wird, ist zumindest fraglich...</p>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/726230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/726230</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Fri, 18 Feb 2005 08:51:31 GMT</pubDate></item><item><title><![CDATA[Reply to DBGrid und onscroll? on Fri, 18 Feb 2005 09:15:47 GMT]]></title><description><![CDATA[<p>Perfekt, damit hats genau so hin gehauen, wie ich mir das vorgestellt habe. Ich dank euch für die schnelle Hilfe.</p>
<p>Gruß Pat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/726254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/726254</guid><dc:creator><![CDATA[Pat781]]></dc:creator><pubDate>Fri, 18 Feb 2005 09:15:47 GMT</pubDate></item></channel></rss>