這裡只舉個縱軸的例子,利用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...