delphi – 如果鼠标未通过VirtualTreeView(TVirtualStringTree),
发布时间:2020-12-15 04:18:36 所属栏目:大数据 来源:网络整理
导读:TVirtualStringTree默认情况下,如果它是聚焦的 – 它将在鼠标滚轮上滚动,即使鼠标没有过度控制(除非它在另一个TVirtualStringTree上). 是否有一种快速而优雅的方法来禁用此行为? 我已经使用OnMouseWheel事件做了这个,并检查了PtInRect,如果Mouse.CursorPos
TVirtualStringTree默认情况下,如果它是聚焦的 – 它将在鼠标滚轮上滚动,即使鼠标没有过度控制(除非它在另一个TVirtualStringTree上).
是否有一种快速而优雅的方法来禁用此行为? 我已经使用OnMouseWheel事件做了这个,并检查了PtInRect,如果Mouse.CursorPos是否超过控件,但我觉得有更好的方法来做同样的事情,因为这样我必须为每个定义一个新的事件TreeView我添加并处理何时聚焦/取消聚焦控件,所以我希望必须有更好的方法来禁用它. 所以要清楚,我希望鼠标滚轮功能像往常一样工作,但只有当鼠标悬停在VirtualTreeView上时. 解决方法
将TApplicationEvents控件下拉到表单
在TApplicationEvents onMessage中 procedure TForm5.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); var pnt: TPoint; ctrl: TWinControl; begin if Msg.message = WM_MOUSEWHEEL then begin if not GetCursorPos(pnt) then Exit; ctrl := FindVCLWindow(pnt); if Assigned(ctrl) then Msg.hwnd := ctrl.Handle; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- tolua++中暴露对象给lua时,一定要把析构函数暴露给lua
- Delphi 图标,应用程序背景图片添加
- perl和python各自擅长什么领域?
- Sunday字符串搜索算法Delphi实现
- Delphi 2007 每次编译运行后出现错误: Assertion failure
- 2011年需要关注的9大编程语言
- delphi xe5 StrToFloat故障将ThousandSeparator更改为’,’
- VB调用系统的"打印机设置"和"页面设置".
- Innosetup 创建快速运行栏快捷方式 win7 win 8 win10 均不可
- 现在, Delphi 的多线程已经非常易用了!