TScrollBox響應滑鼠滾輪問題

2021-09-08 16:46:49 字數 1216 閱讀 9640

delphi的tscrollbox本身並不響應滑鼠滾輪事件(不知道為什麼),但可以在scrollbox的滑鼠滾動事件中進行控制:

procedure

tfrmtasknoteedit.scrollbox1mousewheel(sender: tobject; shift: tshiftstate; wheeldelta: integer;

mousepos: tpoint;

varhandled: boolean);

begin

if wheeldelta < 0

then

sendmessage(scrollbox1.handle,wm_vscroll, sb_linedown,

0) //向下滾

else

sendmessage(scrollbox1.handle,wm_vscroll, sb_lineup,

0); //向上滾

end;

測試通過,奇怪的是我在乙個pagecontrol的兩個頁面中分別放置兩個scrollbox時只有乙個有響應,鬱悶,後來只好調整到窗體的mousewheel事件中:

procedure

tfrmtasknoteedit.formmousewheel(sender: tobject; shift: tshiftstate; wheeldelta: integer; mousepos: tpoint;

varhandled: boolean);

begin

inherited;

case rzpagecontrol1.activepageindex of0:

begin

if wheeldelta < 0

then

scrollbox1.perform(wm_vscroll,sb_linedown,0)

else

scrollbox1.perform(wm_vscroll,sb_lineup,0);

end;

2:begin

if wheeldelta < 0

then

scrollbox2.perform(wm_vscroll,sb_linedown,0)

else

scrollbox2.perform(wm_vscroll,sb_lineup,0);

end;

end;end;

GUI 滑鼠響應

1 函式 windowbuttonmotionfcn 當滑鼠在視窗上運動的時候就會相應此函式,於是在此函式中可以設定運動時想要的 如 改變滑鼠的形狀 if 滿足某乙個條件 set gcf,pointer hand 設定為手的形狀 else set gcf,pointer arrow 設定為箭頭的形狀...

VC 滑鼠事件的響應

滑鼠鍵包括左鍵 右鍵和中鍵 滾輪 每個鍵都有三種事件訊息,一是被按下,二是被釋放,三是雙擊。下表列出了滑鼠操作 訊息名稱及處理函式名。滑鼠操作 訊息名稱 處理函式名 左鍵按下 wm lbuttondown onlbuttondown 左鍵釋放 wm lbuttonup onlbuttonup 左鍵雙...

javascript基礎四 (事件應用滑鼠滾輪)

var odiv document.getelementbyid div ie chrome onmousewheel event.wheeldelta 上 120 下 120 firefox dommousescroll 必須用addeventlistener event.detail 阻止當前事...