滚轮鼠标之编程(200分)

  • 主题发起人 主题发起人 Zephyr
  • 开始时间 开始时间
Z

Zephyr

Unregistered / Unconfirmed
GUEST, unregistred user!
在滚轮鼠标侧面(大拇指放的地方)有一个按钮,浏览网页时,在IE中按住此按钮就可以
在屏幕上出现一个带有上下箭头的圆形图标,此时上下移动鼠标就可使网页向上或向下滚
动,而且鼠标离此圆形图标越远就滚动的越快。我在写一个控件时希望能实现此功能,但
在VCL帮助文档中对OnMouseWheel事件的解释实在太简单了,我看不明白,API文档中对
WM_MOUSEWHEEL的解释我也看不大明白,有没有哪位高手能告诉我如何实现?(能解释一下
也行)

btw: OnMouseWheelUp和OnMouseWheelDown我已搞定,就不必再说这两个事件了
 
处理鼠标中键即可,另用一个布尔变量记录状态。
AutoRolling: Boolean;
procedure WMMButtonDown(var Message: TWMMButtonDown); message WM_MBUTTONDOWN;
procedure WMMButtonUp(var Message: TWMMButtonUp); message WM_MBUTTONUP;
procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;

procedure Txxxx.WMMButtonDown(var Message: TWMMButtonDown);
begin
AutoRolling := not AutoRolling;
if AutoRolling then SetCapture(Handle);
inherited;
end;

procedure Txxxx.WMMButtonUp(var Message: TWMMButtonUp);
begin
if not AutoRolling then ReleaseCapture;
inherited;
end;

procedure Txxxx.WMMouseMove(var Message: TWMMouseMove);
begin
if AutoRolling then {...} else inherited;
end;



 
多谢Croco,可是那个圆形图标呢,如何显示出来?它是 Windows 的或者要自己显示出来?
 
有些鼠标带驱动程序的!
看看它的驱动程序吧!
 
Zephyr:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
请认真阅读大富翁论坛规则说明 http://www.delphibbs.com/delphibbs/rules.htm
 
看它的驱动程序#@#@!$#@!
 
接受答案了.
 
后退
顶部