使Form響應滾輪事件

2022-08-05 13:42:11 字數 1347 閱讀 5529

這裡只舉個縱軸的例子,利用delphi的vcl控制項的原有**還是比較方便的,**如下:

mousewheel

procedure

tfrmmain.formmousewheel(sender: tobject; shift: tshiftstate;

wheeldelta: integer; mousepos: tpoint; 

varhandled: boolean);

varlpos,lheight :integer;

begin

//確保form的 autoscroll :

=false; scaled :

=true;

//要在窗體建立或者內容載入的時候設定好 vertscrollbar.range visible

//根據實際的內容長度來設定vertscrollbar.range

lheight :

=vertscrollbar.range 

-clientheight;

//注意form的 clientheight和height的區別

iflheight 

<=

0then

exit;

if wheeldelta 

>

0then

lpos :

=vertscrollbar.position 

-vertscrollbar.increment

else

lpos :

=vertscrollbar.position 

+vertscrollbar.increment;

iflpos 

>

lheight 

then

lpos :

=lheight  ;

iflpos 

<

0then

lpos :=0

;ifvertscrollbar.position 

-lpos  

<>

0then

begin

//scrollby(

0,self.vertscrollbar.position

-lpos);

//由於設定position的時候已經使form滾動了,所以不用手動滾動

vertscrollbar.position :

=lpos;

end;

handled :

=true; 

//遮蔽form裡面的控制項滾動事件

end;

當然也可以自己擷取mousewheel訊息,這樣就不單單只有tscrollingwincontrol類上使用滾輪事件了

滑鼠滾輪事件

新增事件 有相容性 註冊事件 if document.addeventlistener window.onmousewheel document.onmousewheel scrollfunc ie opera chrome detail與wheeldelta 判斷滾輪向上或向下在瀏覽器中也有相容性...

滑鼠滾輪事件

新增事件 有相容性 註冊事件 if document.addeventlistener window.onmousewheel document.onmousewheel scrollfunc ie opera chrome detail與wheeldelta 判斷滾輪向上或向下在瀏覽器中也有相容性...

滑鼠滾輪事件

滑鼠滾輪事件和鍵盤事件以及滑鼠左右鍵沒本質的區別。2 if document.addeventlistener window.onmousewheel document.onmousewheel scroll ie opera chrome safari 像上面這樣就可以給整個文件繫結滾輪事件。fu...