delphi的tscrollbox本身並不響應滑鼠滾輪事件(不知道為什麼),但可以在scrollbox的滑鼠滾動事件中進行控制:
proceduretfrmtasknoteedit.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事件中:
proceduretfrmtasknoteedit.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 阻止當前事...