DBGrid mit dem Mausrad scrollen



  • Hallo,

    ich vermisse irgendwie AfterScrollMouseDown bzw. AfterScrollMouseUp

    wo ich dann bei z.B.: AfterScrollMouseDown

    ADOQuery1->Next();

    eingebe und mit dem scrollen vom Mausrad die selection eine Zeile runter geht...

    Oder kann man soetwas bei DBGrid nicht realisieren?

    Hat wer ne Idee?

    Gruß


  • Mod

    Hallo

    zB sowas

    DBGrid->WindowProc = NewWndProcDBGrid;
    void __fastcall TForm1::NewWndProcDBGrid(TMessage &AMsg)
    {
    switch (AMsg.Msg)
    {
    case WM_MOUSEWHEEL :

    "mach irgendwas"
    break;

    default : OldWndProcDBGrid(AMsg);
    }
    }



  • unsinn



  • Hallo und danke für die Antwort, aber leider verstehe ich deinen Code nicht so ganz...

    Könntest du mir diesen etwas näher bringen?

    DBGrid->WindowProc = NewWndProcDBGrid;

    NewWndProcDBGrid ist eine Funktion!? Gehört das dann nicht NewWndProcDBGrid(); ?

    Was ist mit WindowProc gemeint und was hat dies mit dem Mausrad zu tun?
    Wird die dann bei jeder änderung im DBGrid aufgerufen?

    Was gibt AMsg.Msg zurück? Änderung der Maus?

    case WM_MOUSEWHEEL : das wäre dann eine änderung vom Mausrad.
    Jetzt brauch ich dann hier noch eine Abfrage ob das Mausrad nach unten oder nach oben bewegt wurde.

    default : OldWndProcDBGrid(AMsg); Zeigt mir dann das alte DBGrid wieder?



  • Hallo,

    wenn ich das richtig verstand habe... KlausB meint, dass du die Windows-Botschaft WM_MOUSEWHEEL abfangen könntest, um somit eine eigene Funktionalität in DBGrid einzufügen.
    Ob du die Botschaft dann für dich behälst oder weiterleitest, musst du für deinen Fall entscheiden.

    MfG

    Edit: Ich frage mich, warum jemand mit Moderator-Status es nicht schafft die [cpp]-Tags zu benutzen 😉


Anmelden zum Antworten