WEB开发网
开发学院软件开发Delphi 给DBGrid添加鼠标滚动事件 阅读

给DBGrid添加鼠标滚动事件

 2006-02-04 13:55:06 来源:WEB开发网   
核心提示:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids;type TForm1 = class(TForm)
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids;

type
  TForm1 = class(TForm)
  DBGrid1: TDBGrid;
  ADOTable1: TADOTable;
  DataSource1: TDataSource;
  PRocedure FormCreate(Sender: TObject);
 private
  Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
  { Private declarations }
 public
  { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
//------------------------------------------------------------------------------
Procedure TForm1.OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
 if Msg.message = WM_MouseWheel then
 begin
  if Msg.wParam > 0 then
   begin
    if DBGrid1.Focused then
     SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
   end
  else
   begin
    if DBGrid1.Focused then
     SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
   end;
  Handled:= True;
 end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件
end;

Tags:DBGrid 添加 鼠标

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接