其他分享
首页 > 其他分享> > Delphi 7拦截滚轮事件不响应滚轮的上下滚动

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

作者:互联网

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 onm ouseWheel(Var Msg: TMsg; var Handled: Boolean);

public { Public declarations }
end;

var Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := onm ouseWheel;
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.

发表于 2017-02-15 15:57  涂磊  阅读(901)  评论(0)  编辑  收藏

标签:滚轮,end,Handled,Delphi,TForm1,TObject,var,滚动,procedure
来源: https://blog.51cto.com/u_15216366/2823467