我从TPanel继承一个控件,此控件能有OnMouseWheel事件吗?如果有,如何写?(100分)

  • 主题发起人 主题发起人 还是朋友
  • 开始时间 开始时间

还是朋友

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢谢谢。。。。
 
OnMouseMove

不知道OnMouseWheel是哪里来的,SORRY
 
就是mouse的滚轮事件呀,
form,richedit有此事件,
我看了看vcl源码,没看懂 ,
呵呵。。。。
从TCustomEdit继承,可以有此事件。。。。
从TPanel就不行。。。。
 
TPanel 的祖先是TWinControl,好象没有OnMouseWheel事件。
 
In TWinControl

OnDockDrop
OnDockOver
OnEnter
OnExit
OnGetSiteInfo
OnKeyDown
OnKeyPress
OnKeyUp
OnMouseWheel
OnMouseWheelDown
OnMouseWheelUp
OnUnDock

TWinControl当然有此事件了呀。。。。
 
你可以捕获捕获消息 WM_MOUSEWHEEL 然后定义这个消息的触发事件
procedure WMMouseWheel(var Message: TWMMousewheel); message WM_MOUSEWHEEL;

 
cjc861:
这样是可以的。。。。
 
问题已经解决。。。
从TPanel继承是可以的。。。

但是在调用的时候要把Form.ActiveControl高为MyPanel
或者在MyPanel的OnClick里
(sender as TWinControl).SetFocus也是可以的。
 
接受答案了.
 
后退
顶部