zoukankan      html  css  js  c++  java
  • 给DBGrid添加鼠标滚动事件

    学习利用TApplicaiton的OnMessage方法来添加控件的消息响应!

    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;

  • 相关阅读:
    uninstall_edge:win10带浏览器edge卸载工具
    安装spacedesk后,Win10状态栏图标间距变宽
    jacob实现语音朗读一段文本
    汇编语言-12内中断
    告警只提示一次,未解决也不再次提示
    汇编语言-11标志寄存器
    第2章 顺序表及其顺序存储
    第1章 概论
    再见:计算机行业
    QPainter
  • 原文地址:https://www.cnblogs.com/delphi7456/p/1896637.html
Copyright © 2011-2022 走看看