Autor Beitrag
Barret
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 156
Erhaltene Danke: 1

Win XP
D7 Ent
BeitragVerfasst: Fr 29.10.10 11:02 
Hey!

Ich hab ein Problem mit dem OnMouseWheel-Event auf einem DB-Grid.
Im OnCellClick lasse ich die jeweiligen Infos des Datensatzes in andere Kompomenten (TEdit, TComboBox, ...) anzeigen um sie zu verändern.
Jetz möchte ich das das Mausrad auf dem Grid auch benutzt werden kann.
Also die gleiche Funktion wie im OnCellClick auf OnMouseWheel. Funktioniert auch aber immer erst ab dem zwiten einrasten der Maus.

Direkte Anwendung:
Klick = alles io
1. drehen des Rades = keine reaktion
2. drehen des Rades = Funktion wird ausgelöst aber mit der letzten Position

Dadurch bin ich immer einen Datensatz hinter her wenn ich das Rad benutzte. Hat jemand eine Idee?

_________________
Wir könnten ja, wenn wir wollten aber wir wollen ja nicht.
It´s not a bug, it´s a feature.
Barret Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 156
Erhaltene Danke: 1

Win XP
D7 Ent
BeitragVerfasst: Fr 29.10.10 12:32 
Okey jetz gehts!

ich überschreibe die OnWheelUp und Down Funktion im on Show der Form mit dieser: (Die zweite schreib ich jetzt nicht dazu)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm.MyWheelUp_Home(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
  Handled := True;
  DBGrid.DataSource.DataSet.Prior;
  FillEditFields_Home_Eigenschaft; //<- eigene Funktion für beschriebene Editfelder & Co.
end;


Damit erkennt er dann auch den 1. Dreher des Rades.

_________________
Wir könnten ja, wenn wir wollten aber wir wollen ja nicht.
It´s not a bug, it´s a feature.