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


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

前幾天有客戶提出需求:由於個人PC界面限制,有時候電子圖檔顯示不全,希望通過鼠標上下滾動用來控制電子圖檔的放大和縮小。

下面通過一個測試Demo來說明一下。

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

 

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

 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;

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

 

綜上,我們就可以在兩個關鍵判斷處,添加自己想要實現的業務邏輯,從而實現對鼠標上下滾動基礎消息的截獲和二次處理。

 

  作者:Jeremy.Wu
  出處:https://www.cnblogs.com/jeremywucnblog/
  本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM