<?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[OnMouseWheel im DBGrid (Code) Hilfe]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich suche mich bisher fast perfekt durch die Hilfen des BCB, dieser Faq und einigen Beiträgen. Hat bisher auch recht gut geklappt, allerdings dachte ich bei meinem letzten Problem, dass die Suche hier nicht funktioniert, da andauernd, egal was für Kombinationen ich zu meinem Problem eingegeben hatte folgende Zeile zu lesen war:</p>
<p>„Keine Beiträge entsprechen Ihren Kriterien.”</p>
<p>Das Scrollen mit der Maus beim DBGrid ist von Natur aus eine Katastrophe, weil immer der &quot;gdSelected&quot; verspringt, nachdem man anschließend in das DBGrid klickt. Ok, das Thema wurde im Forum „meiner Meinung” nach noch nicht abgehandelt (Ich wurde nicht annähernd fündig!).</p>
<p>Habe dann gegooglet und wurde zum Teil belohnt, allerdings ist es Delphi-Code. Die simplen Sachen, wie Variablen-Zuweisung und so kenne ich auch bei Delphi, nur einiges daraus macht mir Kopfschmerzen (im Code durch Kommentare angedeutet!). Vielleicht kann mir ja jemand beim Umsetzen im Builder dabei behilflich sein?</p>
<pre><code class="language-cpp">unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, DBTables;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
/* 
Problem!
-----------------------------------
  TWheelDBGrid = class(TDBGrid)
  public
    property OnMouseWheel;
  end;
-----------------------------------
*/
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
/*
Problem!
-----------------------------------
begin
  TWheelDBGrid(DBGrid1).OnMouseWheel := DBGridMouseWheel;
end;
-----------------------------------

Kann ich diese Funktion auch einfach auf die Form setzen oder vorher irgendwo deklarieren? Und wofür steht das @-Zeichen?
-----------------------------------
function GetNumScrollLines: Integer;
begin
  SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;
-----------------------------------
*/
procedure TForm1.DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var
  Direction: Shortint;
begin
  Direction := 1;
  if WheelDelta = 0 then
    Exit
  else if WheelDelta &gt; 0 then
    Direction := -1;
/*
Problem wegen Assigned und Invalidate
-----------------------------------
  with TDBGrid(Sender) do
  begin
    if Assigned(DataSource) and Assigned(DataSource.DataSet) then
      DataSource.DataSet.MoveBy(Direction * GetNumScrollLines);
    Invalidate;
  end;
-----------------------------------
*/
end;

end.
</code></pre>
<p>Wäre super, wenn mir jemand hilft! <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/topic/101741/onmousewheel-im-dbgrid-code-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 01:04:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/101741.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Feb 2005 08:11:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 08:54:15 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich suche mich bisher fast perfekt durch die Hilfen des BCB, dieser Faq und einigen Beiträgen. Hat bisher auch recht gut geklappt, allerdings dachte ich bei meinem letzten Problem, dass die Suche hier nicht funktioniert, da andauernd, egal was für Kombinationen ich zu meinem Problem eingegeben hatte folgende Zeile zu lesen war:</p>
<p>„Keine Beiträge entsprechen Ihren Kriterien.”</p>
<p>Das Scrollen mit der Maus beim DBGrid ist von Natur aus eine Katastrophe, weil immer der &quot;gdSelected&quot; verspringt, nachdem man anschließend in das DBGrid klickt. Ok, das Thema wurde im Forum „meiner Meinung” nach noch nicht abgehandelt (Ich wurde nicht annähernd fündig!).</p>
<p>Habe dann gegooglet und wurde zum Teil belohnt, allerdings ist es Delphi-Code. Die simplen Sachen, wie Variablen-Zuweisung und so kenne ich auch bei Delphi, nur einiges daraus macht mir Kopfschmerzen (im Code durch Kommentare angedeutet!). Vielleicht kann mir ja jemand beim Umsetzen im Builder dabei behilflich sein?</p>
<pre><code class="language-cpp">unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, DBTables;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
/* 
Problem!
-----------------------------------
  TWheelDBGrid = class(TDBGrid)
  public
    property OnMouseWheel;
  end;
-----------------------------------
*/
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
/*
Problem!
-----------------------------------
begin
  TWheelDBGrid(DBGrid1).OnMouseWheel := DBGridMouseWheel;
end;
-----------------------------------

Kann ich diese Funktion auch einfach auf die Form setzen oder vorher irgendwo deklarieren? Und wofür steht das @-Zeichen?
-----------------------------------
function GetNumScrollLines: Integer;
begin
  SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;
-----------------------------------
*/
procedure TForm1.DBGridMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var
  Direction: Shortint;
begin
  Direction := 1;
  if WheelDelta = 0 then
    Exit
  else if WheelDelta &gt; 0 then
    Direction := -1;
/*
Problem wegen Assigned und Invalidate
-----------------------------------
  with TDBGrid(Sender) do
  begin
    if Assigned(DataSource) and Assigned(DataSource.DataSet) then
      DataSource.DataSet.MoveBy(Direction * GetNumScrollLines);
    Invalidate;
  end;
-----------------------------------
*/
end;

end.
</code></pre>
<p>Wäre super, wenn mir jemand hilft! <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/726963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/726963</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 08:54:15 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 09:44:42 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>am besten du leitest dir eine neue Komponente ab</p>
<p>oder (als kleiner Einstieg)</p>
<p>in FormCreate<br />
// für TDBGrid und die Wheelmaus<br />
OldWndProcDBGrid = DBGridProd-&gt;WindowProc;<br />
DBGridProd-&gt;WindowProc = NewWndProcDBGrid;<br />
// für TDBGrid und die Wheelmaus</p>
<p>sowie</p>
<pre><code class="language-cpp">//-------------------------------------------------------
void __fastcall TForm1::NewWndProcDBGrid(TMessage &amp;AMsg)
{
switch (AMsg.Msg)
    {
    case WM_MOUSEWHEEL :
            if (DBGridProd-&gt;DataSource &amp;&amp; DBGridProd-&gt;DataSource-&gt;DataSet &amp;&amp;
                        !DBGridProd-&gt;DataSource-&gt;DataSet-&gt;IsEmpty())
                {
                if (AMsg.WParam &lt; 0)
                    DBGridProd-&gt;DataSource-&gt;DataSet-&gt;Next();
                else
                    DBGridProd-&gt;DataSource-&gt;DataSet-&gt;Prior();
                }
    break;
           default : OldWndProcDBGrid(AMsg);
    }
}
//----------------------------------------------------------------------------------
</code></pre>
<p>MfG<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/726989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/726989</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Sat, 19 Feb 2005 09:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 12:35:16 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>am besten ist es, wenn du ein neues Control von DBGrid ableitest (mit den Assistenten ist das leicht) und einfach diese Funktion überschreibst :</p>
<pre><code class="language-cpp">// Funktion nach MouseWheelUp
bool __fastcall TDBGridEx::DoMouseWheelUp(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos)
{
  if (DataSource == NULL) return(false);
  DataSource-&gt;DataSet-&gt;Prior(); // vorhergehenden Datensatz auswählen
  return(true);
  }

// Funktion nach MouseWheelDown
bool __fastcall TDBGridEx::DoMouseWheelDown(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos)
{
  if (DataSource == NULL) return(false);
  DataSource-&gt;DataSet-&gt;Next(); // nächsten Datensatz auswählen
  return(true);
  }
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727006</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 19 Feb 2005 12:35:16 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 10:17:28 GMT]]></title><description><![CDATA[<p>Danke ertsmal für die schnelle Hilfe.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/690">@klausb</a>:</p>
<p>Ich glaube ich verstehe die Logik. Du schiebst erstmal deine Nachrichtenabfang routine für´s DBGrid dazwischen, und lässt danach die ursprüngliche Nachrichtenverarbeitung durchlaufen, richtig?</p>
<p>Also laut Hilfe initialisere ich eine neue WindowsProcedure mit WndProc, aber irgendwie haut das nicht hin. Ich bekomme keine Struktur-Deklaration von &quot;OldWndProcDBGrid&quot; hin, vielleicht zu unwissend, kannste mir da mal ne kleine Hilfestellung zu geben, da mir diese Lösung auch recht komfortabel und einfach erscheint.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a>:</p>
<p>ich habe es noch nie gemacht, wie geht so etwas (komponente ableiten und methoden überschreiben? Kannste mir da ne kurze Step by Step Anleitung geben?</p>
<p>Vielen Dank im voraus! <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>
<p>gruß gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727011</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 10:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 10:31:06 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/690">@klausb</a></p>
<p>habe es jetzt so versucht, klappt allerdings nichts. wahrscheinlich kapier ich es nicht.</p>
<p>Im FromCreate:</p>
<pre><code class="language-cpp">MSG msg;
WndProc(msg.message) OldWndProcDBGrid;
WndProc(msg.message) NewWndProcDBGrid;

OldWndProcDBGrid = DBGridProd-&gt;WindowProc;
DBGridProd-&gt;WindowProc = NewWndProcDBGrid;
</code></pre>
<p>Gruß Gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727019</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 10:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 13:37:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>mach nur das was ich dir gepostet habe<br />
zusaetzlich in def .h</p>
<p>// für TDBGrid und die Wheelmaus<br />
TWndMethod OldWndProcDBGrid;<br />
void __fastcall NewWndProcDBGrid(TMessage &amp;AMsg);<br />
// für TDBGrid und die Wheelmaus</p>
<p>aber eine eigene Komponente ist eigentlich besser<br />
aber zum allgemeinen Verstaendnis naja ...</p>
<p>MSG msg;<br />
WndProc(msg.message) OldWndProcDBGrid;<br />
WndProc(msg.message) NewWndProcDBGrid;</p>
<p>brauchst du nicht</p>
<p>Mfg<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727040</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Sat, 19 Feb 2005 13:37:20 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 12:33:36 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a>:</p>
<blockquote>
<p>ich habe es noch nie gemacht, wie geht so etwas (komponente ableiten und methoden überschreiben? Kannste mir da ne kurze Step by Step Anleitung geben?</p>
</blockquote>
<p>Also :<br />
- Menü Komponente/NeueKomponente<br />
im Dialog Werte eintragen/auswählen :<br />
Vorfahrtyp : DBGrid<br />
Klassenname : TDBGridEx<br />
Palettenseite : Beispiel lassen oder Datensteuerung<br />
Name der Unit : &lt;Pfad&gt;\DBGridEx.cpp<br />
-&gt;Ok<br />
- Es wird ein Projekt mit der neuen Klasse erzeugt, in die du den oben<br />
genannten Code einfügst. Die Deklaration der Funktionen in der Headerdatei<br />
nicht vergessen<br />
- Menü Ansicht/Projektverwaltung, im Fenster den Installieren-Button drücken<br />
Projekt wird kompiliert und Control wird registriert.<br />
- Die Datei DBGridEx.h in ein Pfad kopieren, der immer included ist, z.B. &lt;BCB-Pfad&gt;/Include</p>
<p>Dann kannst du alle DBGrids durch DBGridEx ersetzten</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727107</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 19 Feb 2005 12:33:36 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 12:44:53 GMT]]></title><description><![CDATA[<p>hi akari und klausb,</p>
<p>als erstes, sieht der thread bei euch auch so komisch aus, vielleicht nen tag falsch verschachtelt?</p>
<p>also erstmal besten dank, zweite variante hatte ich auch versucht, nur irgendwie hatte es noch nicht ganz hingehauen, aber ich denke jetzt bin ich in der lage dazu.</p>
<p>eine frage noch, die methoden unter __published, oder unter public: wo liegt da eigentlich ganz genau der unterschied?</p>
<p>das mit dem Nachrichten auffangen klappt jetzt übrigends auch wunderbar, aber ich denke es ist wirklich von vorteil sich dafür gleich ne klasse abzuleiten und für die zukunft parat zu halten.</p>
<p>und wo wir gerade beim thema sind, ist es möglich bei abgeleiteten klassen weitere eigenschaften im objektinspektor anzeigen zu lassen? und kann man aus abgeleiteten klassen auch ein ocx genrieren, oder auf anderen weg?</p>
<p>vielen dank im voraus!</p>
<p>gruß gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727113</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 12:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 13:02:18 GMT]]></title><description><![CDATA[<p>hi akari,</p>
<p>habe es laut deiner Version versucht, wie schon gesagt, meines hatte nen klaren Fehler. Deines aber ebenfalls:</p>
<p>Antwort des Builders:</p>
<p>[C++ Fehler] DBGridEx.h(19): E2113 Virtuelle Funktion '_fastcall TDBGridEx::DoMouseWheelUp(TShiftState,const TPoint &amp;)' verursacht Konflikte mit der Basisklasse 'TCustomGrid'</p>
<p>Was mach ich nun?</p>
<p>Mit der Hoffnung auf Hilfe <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>
<p>Gruß Gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727131</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 13:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 13:23:51 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>die seite wird auch mir zerhackt, es liegt wohl an KlausB's letztem Post</p>
<p>Wegen dem Fehler : hast du vielleicht das bool vergessen<br />
[cpp]<strong>bool</strong> __fastcall TDBGridEx::DoMouseWheelUp(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos)[/cpp]</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727155</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 19 Feb 2005 13:23:51 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 13:39:36 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>nein, alles so eingefügt, trotzdem geht es nicht!</p>
<p>Headerdatei:</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#ifndef DBGridExH
#define DBGridExH
//---------------------------------------------------------------------------
#include &lt;SysUtils.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;Classes.hpp&gt;
#include &lt;Forms.hpp&gt;
#include &lt;DBGrids.hpp&gt;
#include &lt;Grids.hpp&gt;
//---------------------------------------------------------------------------
class PACKAGE TDBGridEx : public TDBGrid
{
private:
protected:
public:
    __fastcall TDBGridEx(TComponent* Owner);
    // Funktion nach MouseWheelUp
    bool __fastcall DoMouseWheelUp(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos);
    // Funktion nach MouseWheelDown
    bool __fastcall DoMouseWheelDown(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos);
__published:
};
//---------------------------------------------------------------------------
#endif
</code></pre>
<p>Quelldatei:</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;vcl.h&gt;
#pragma hdrstop

#include &quot;DBGridEx.h&quot;
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck wird benutzt, um sicherzustellen, daß die erzeugten Komponenten
// keine rein virtuellen Funktionen besitzen.
//

static inline void ValidCtrCheck(TDBGridEx *)
{
    new TDBGridEx(NULL);
}
//---------------------------------------------------------------------------
__fastcall TDBGridEx::TDBGridEx(TComponent* Owner)
    : TDBGrid(Owner)
{
}
//---------------------------------------------------------------------------
namespace Dbgridex
{
    void __fastcall PACKAGE Register()
    {
         TComponentClass classes[1] = {__classid(TDBGridEx)};
         RegisterComponents(&quot;Datensteuerung&quot;, classes, 0);
    }
}
//---------------------------------------------------------------------------
</code></pre>
<p>Gruß Gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727163</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 13:39:36 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 13:45:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>sorry, hatte vergessen, DYNAMIC zun erwähnen<br />
das muß also in die Headerdatei:</p>
<pre><code class="language-cpp">protected:

    // Funktion nach MouseWheelUp
    DYNAMIC bool __fastcall DoMouseWheelUp(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos);

    // Funktion nach MouseWheelDown
    DYNAMIC bool __fastcall DoMouseWheelDown(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos);
</code></pre>
<p>und das in die Quellcode-Datei</p>
<pre><code class="language-cpp">// Funktion nach MouseWheelUp
bool __fastcall TDBGridEx::DoMouseWheelUp(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos)
{
  if (DataSource == NULL) return(false);
  DataSource-&gt;DataSet-&gt;Prior(); // vorhergehenden Datensatz auswählen
  return(true);
  }
//---------------------------------------------------------------------------

// Funktion nach MouseWheelDown
bool __fastcall TDBGridEx::DoMouseWheelDown(Classes::TShiftState Shift, const Windows::TPoint &amp;MousePos)
{
  if (DataSource == NULL) return(false);            
  DataSource-&gt;DataSet-&gt;Next(); // nächsten Datensatz auswählen
  return(true);
  }
//---------------------------------------------------------------------------
</code></pre>
<p>Dann kompiliert das auch.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727178</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 19 Feb 2005 13:45:02 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Sat, 19 Feb 2005 13:53:17 GMT]]></title><description><![CDATA[<p>hi akari,</p>
<p>funzt prima, danke dir für deine müheund natürlich auch klausb! <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>
<p>gruß gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727182</guid><dc:creator><![CDATA[gerd01]]></dc:creator><pubDate>Sat, 19 Feb 2005 13:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Wed, 20 Jun 2007 08:59:35 GMT]]></title><description><![CDATA[<p>Hallo, Akari,</p>
<p>habe alles so gemacht wie von dir beschrieben, aber es geht nicht. Bekomme einige Fehlermeldungen:</p>
<p>[C++ Error] DBGridMy.h(17): E2316 'TPoint' is not a member of 'Windows'<br />
[C++ Error] DBGridMy.h(17): E2293 ) expected<br />
[C++ Error] DBGridMy.h(20): E2316 'TPoint' is not a member of 'Windows'<br />
[C++ Error] DBGridMy.h(20): E2293 ) expected<br />
[C++ Error] DBGridMy.cpp(34): E2316 'TPoint' is not a member of 'Windows'<br />
[C++ Error] DBGridMy.cpp(34): E2316 'DoMouseWheelUp' is not a member of 'TDBGridMy'<br />
[Linker Fatal Error] Fatal: Unable to open file 'DBGRIDMY.OBJ'</p>
<p>Kannst du mir weiter helfen?</p>
<p>MfG Denis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309711</guid><dc:creator><![CDATA[spdenis]]></dc:creator><pubDate>Wed, 20 Jun 2007 08:59:35 GMT</pubDate></item><item><title><![CDATA[Reply to OnMouseWheel im DBGrid (Code) Hilfe on Wed, 20 Jun 2007 10:31:53 GMT]]></title><description><![CDATA[<p>Problem geloest...</p>
<p>Windows musste durch Types ersetzt werden</p>
<p>Denis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309761</guid><dc:creator><![CDATA[spdenis]]></dc:creator><pubDate>Wed, 20 Jun 2007 10:31:53 GMT</pubDate></item></channel></rss>