Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Mouse Orta tuşu ile Dbgrid Scroll unu hareket ettirme
#1
Merhaba Arkadaşlar bununla ilgili aşağıda bir örnek buldum. Ancak Çözemediğim

ben Delphi 7 Enterprise kullanıyorum. Aşağıdaki kod da:

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.


bu kod daki procedure TForm1.DBGridMouseWheel(Sender: TObject; Shift: TShiftState;

  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); koyu işaretlediğim DbgridMouseWhell bulamadım. bendeki Dbgrid events'de böyle bir şey yok (DBGridMouseWheel) OnmouseDown,OnmouseUp ve OnmouseMove bunlar var
Ben Adoconnect, Datasource, Adoquery ve dbgrid bunarı kullanıyorum. Yukarıdaki kodla uyumlu acaba
Yardımlarınız için Teşekkürler. 
Cevapla
#2
Form Create prosedürünü İlgili fonksion ve Prosedürden sonra yazıp denermisiniz..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
(22-08-2023, Saat: 20:48)mcuyan Adlı Kullanıcıdan Alıntı: Form Create prosedürünü İlgili fonksion ve Prosedürden sonra yazıp denermisiniz..

Tamamdır. Teşekkürler.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  DBGrid Columns Otomatik Boyutlandırma Halil Han BADEM 8 7.010 23-01-2025, Saat: 14:51
Son Yorum: OZCANK
  dbgrid sutun toplamini alip lazreport da gostermek sadikacar60 6 218 02-12-2024, Saat: 12:21
Son Yorum: sadikacar60
  Fare Hareketi Yakalamak : Mouse.CursorPos.X bydelphi 8 801 24-06-2024, Saat: 11:17
Son Yorum: bydelphi
  DBGrid Detay Gösterilmesi. OZCANK 19 10.951 05-04-2024, Saat: 00:48
Son Yorum: Pimapen_Nuri
  DbGrid'de Seçili Satırların Fast Reportta Raporlanması [ÇÖZÜLDÜ] bünyamin68 4 1.045 17-12-2023, Saat: 15:08
Son Yorum: bünyamin68



Konuyu Okuyanlar: 1 Ziyaretçi