Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DBGrid - Erkennen, wenn die ScrollBar bewegt wird.

42 views
Skip to first unread message

Josef Thelen

unread,
May 14, 1999, 3:00:00 AM5/14/99
to
Guten Morgen,

wie kann ich feststellen, ob der Anwender in einem db-Grid die ScrollBar
bewegt hat?

Josef

Christian Kaestner

unread,
May 14, 1999, 3:00:00 AM5/14/99
to
>wie kann ich feststellen, ob der Anwender in einem db-Grid die ScrollBar
>bewegt hat?

Dabei bewegt man sich doch gleichzeitig in der Datenbank. Es müßte
also reichen auf OnBeforeScroll/OnAfterScroll des Tables zu reagieren.


So long
Christian
--
______________________________________________________________________
http://www.kaestnerpro.de
(meine Freewareprogramme, und Delphi-Bereich)

Josef Thelen

unread,
May 15, 1999, 3:00:00 AM5/15/99
to
Hallo Christian

>Dabei bewegt man sich doch gleichzeitig in der Datenbank. Es müßte
>also reichen auf OnBeforeScroll/OnAfterScroll des Tables zu reagieren.


Danke fuer Deine Hilfe. Das OnAfterScroll-Ereignis wird aber nur dann
ausgeloest, wenn ich in die ScrollBar oder auf die Pfeile klicke, bewege ich
den Balken mit der Maus, wird das Ereignis seltsamerweise nicht ausgeloest.
Trotzdem gefaellt mir das Formular nun schon um Klassen besser.

Gruss Josef

Marco Klemm

unread,
May 15, 1999, 3:00:00 AM5/15/99
to
Hallo Josef,

Josef Thelen schrieb:

Das ist richtig. Finde ich auch seltsam.

Du kannst das von dir gewünschte Verhalten durch eine neue DBGrid-Ableitung
erreichen.

Z.B. so:

TMyDBGrid = class(TDBGrid)
private
FAfterScroll: TNotifyEvent;
procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;
published
property AfterScroll: TNotifyEvent read FAfterScroll write FAfterScroll;
end;

procedure TMyDBGrid.WMVScroll(var Message: TWMVScroll);
begin
inherited;
if (Message.ScrollCode = SB_ENDSCROLL) and Assigned(FAterScroll) then
FAfterScroll(self);
end;

Du kannst dem Event AfterScroll natürlich noch mehr Parameter mitgeben, z.B.
die Position des Scrollbalken etc.

Cu, Marco

P. Roettgen

unread,
May 16, 1999, 3:00:00 AM5/16/99
to

Marco Klemm schrieb in Nachricht <373D74C2...@gmx.de>...

>Hallo Josef,
>
>Josef Thelen schrieb:
>>
>> Hallo Christian
>> >Dabei bewegt man sich doch gleichzeitig in der Datenbank. Es müßte
>> >also reichen auf OnBeforeScroll/OnAfterScroll des Tables zu reagieren.
>>
>> Danke fuer Deine Hilfe. Das OnAfterScroll-Ereignis wird aber nur dann
>> ausgeloest, wenn ich in die ScrollBar oder auf die Pfeile klicke, bewege
ich
>> den Balken mit der Maus, wird das Ereignis seltsamerweise nicht
ausgeloest.
>> Trotzdem gefaellt mir das Formular nun schon um Klassen besser.
>
>Das ist richtig. Finde ich auch seltsam.


Nicht unbedingt seltsam ... wenn Du mit der Tastatur arbeitest bewegst Du
halt den Datensatzzeiger ansonsten halt nur die Ansicht der Componente.

Gruß,
P. Roettgen

---
www.prsoft.de

Marco Klemm

unread,
May 16, 1999, 3:00:00 AM5/16/99
to
"P. Roettgen" schrieb:

>
> Marco Klemm schrieb in Nachricht <373D74C2...@gmx.de>...
> >>
> >> Danke fuer Deine Hilfe. Das OnAfterScroll-Ereignis wird aber nur dann
> >> ausgeloest, wenn ich in die ScrollBar oder auf die Pfeile klicke, bewege
> >> ich
> >> den Balken mit der Maus, wird das Ereignis seltsamerweise nicht
> >> ausgeloest.
> >> Trotzdem gefaellt mir das Formular nun schon um Klassen besser.
> >
> >Das ist richtig. Finde ich auch seltsam.
>
> Nicht unbedingt seltsam ... wenn Du mit der Tastatur arbeitest bewegst Du
> halt den Datensatzzeiger ansonsten halt nur die Ansicht der Componente.

Was hat die Tastatur damit zu tun?

Cu, Marco

P. Roettgen

unread,
May 16, 1999, 3:00:00 AM5/16/99
to
Na, wenn Du mit den Cursorn scrollst, dann bewegst Du Dich IM Grid, wenn Du
den Scrollbar betätigst veränderst Du nicht den Datensatzzeiger, sondern
verschiebst nur die Ansicht.

Gruß,
P. Roettgen

---
www.prsoft.de

Marco Klemm schrieb in Nachricht <373ECB9B...@gmx.de>...

Marco Klemm

unread,
May 16, 1999, 3:00:00 AM5/16/99
to
"P. Roettgen" schrieb:

>
> Na, wenn Du mit den Cursorn scrollst, dann bewegst Du Dich IM Grid, wenn Du
> den Scrollbar betätigst veränderst Du nicht den Datensatzzeiger, sondern
> verschiebst nur die Ansicht.

Das sieht vielleicht so aus, daß man die Ansicht verschiebt. Aber in Wirklichkeit
wird beim Scrollen der Cursor bewegt.

Cu, Marco

0 new messages