| 
   
    | ...in einem DBGrid mit dem Scrollrad navigieren? |   
    | Autor: 
      hanuleye |  | [ Tip ausdrucken ] |  |  |  
 
 
//with delphi7
 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;
 
 TWheelDBGrid = class(TDBGrid)
 public
 property OnMouseWheel;
 end;
 
 var
 Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 TWheelDBGrid(DBGrid1).OnMouseWheel := DBGridMouseWheel;
 end;
 
 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 > 0 then
 Direction := -1;
 
 with TDBGrid(Sender) do
 begin
 if Assigned(DataSource) and Assigned(DataSource.DataSet) then
 DataSource.DataSet.MoveBy(Direction * GetNumScrollLines);
 Invalidate;
 end;
 end;
 
 end.
 
 
 
   
   
    | 
         
          | Bewerten Sie diesen Tipp: |  |  |