Delphi 拦截滚轮事件不响应滚轮的上下滚动

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 拦截滚轮事件不响应滚轮的上下滚动相关的知识,希望对你有一定的参考价值。

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type TForm1 = class(TForm) 
Panel1: TPanel; ComboBox1: TComboBox; Label1: TLabel; procedure FormCreate(Sender: TObject); private { Private declarations } 
Procedure OnMouseWheel(Var Msg: TMsg; var Handled: Boolean);

public { Public declarations }
end;

var Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject); 
begin 
Application.OnMessage := OnMouseWheel; 
end;

procedure TForm1.OnMouseWheel(var Msg: TMsg; var Handled: Boolean);
begin 
     if Msg.message = WM_MOUSEWHEEL then 
         if (ActiveControl IS TComboBox) or (ActiveControl IS TStringGrid) then//TComboBox和 TStringGrid不响应滚轮
              Handled := True; 
end;

procedure TForm1.FormDestroy(Sender: TObject); 
begin 
Application.OnMessage := nil;
end;

end.

 

http://www.cnblogs.com/tulater/p/6401799.html

以上是关于Delphi 拦截滚轮事件不响应滚轮的上下滚动的主要内容,如果未能解决你的问题,请参考以下文章

delphi如何模拟鼠标滚轮的往上和往下

JS如何判断鼠标滚轮事件分析

JS怎么禁止鼠标滚轮的单击 IE下! 注意是滚轮去单击 而不是滚动!

鼠标滚轮事件

解决input number类型上下滚动 禁用滚轮事件

ulli鼠标滚轮水平滚动