Delphi - 鼠標上下滾動基礎消息事件

Delphi實現對鼠標上下滾動基礎消息的截獲並處理測試

前幾天有客戶提出需求:因爲我的PC界面限制,有時候電子圖檔顯示不全,但願經過鼠標上下滾動用來控制電子圖檔的放大和縮小。spa

下面經過一個測試Demo來講明一下。code

新建一個WinFrm應用程序,添加一個RzMemo、ApplicationEvents控件,以下所示。orm

 

添加ApplicationEvents控件的OnMessage事件,關鍵代碼以下:blog

 1 procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 2   var Handled: Boolean);
 3 begin
 4   //在RzMemo1上發生鼠標滾輪事件時
 5   if (RzMemo1.Focused) and (Msg.message = WM_MOUSEWHEEL) then
 6   begin
 7     if Msg.wParam > 0 then //上滾
 8     begin
 9       RzMemo1.Lines.Add('上滾+1 - ' + FormatDateTime('YYYY-MM-DD hh:mm:ss zzz', Now()));
10     end
11     else //下滾
12     begin
13       RzMemo1.Lines.Add('下滾-1 - ' + FormatDateTime('YYYY-MM-DD hh:mm:ss zzz', Now()));
14     end;
15     Handled := True; //消息已經處理完畢
16   end;
17 end;

運行效果以下,當鼠標上下滾動時觸發相關消息:事件

 

綜上,咱們就能夠在兩個關鍵判斷處,添加本身想要實現的業務邏輯,從而實現對鼠標上下滾動基礎消息的截獲和二次處理。io

相關文章
相關標籤/搜索