控件编写遇到的问题

数字蛋糕 2001-07-19 09:21:30
1、怎么响应鼠标上的滑轮滚动的消息?
2、运行时错误“OutOfResource”是不是指内存溢出?在出这个错误时,系统同时会提示“参数错误”,然后屏幕上许多区域都变成了白色。但是当程序退出后,系统显示又恢复正常。
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hillside 2001-07-20
  • 打赏
  • 举报
回复
TWincontrol.OnMouseWheel可以响应滑轮消息,但一般用不着,因为每一个TWincontrol缺省地把消息发给主窗口,你只要编写主窗口的OnMouseWheel就可以了.但要注意,有时候你的鼠标点击了非TWincontrol元件,你需要找到一个TWincontrol执行SetFocus.
TechnoFantasy 2001-07-20
  • 打赏
  • 举报
回复
1、Delphi有一些组件有OnMouseWhell事件,例如TMemo。如果你的控件不是从这里继承的
可以自己写消息处理函数,消息是WM_MOUSEWHEEL
数字蛋糕 2001-07-20
  • 打赏
  • 举报
回复
我在Windows SDK帮助中找到了这个消息,但是被注明只在Windows NT下支持,我也觉得很奇怪,98下的Notepad明明能够相应这个消息的.

第二个问题我找到了答案,因为我在使用区域的时候采用了以下的方法
DeleteObject(SelectClipRgn(Canvas.Handle,CreateRectRgn(....)));
根据WindowsAPI的用法应该没错,但是我使用的时候就肯定出错。估计是DeleteObject没有起到作用。后来我使用了一个临时变量来管理Rgn就没有问题了。

谢谢两位的回答

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧