如何改变其范围啊

cccccccs 2002-12-27 10:27:54
继承TGraphicControl做了一个控件

可以用来画四边形(主要是用来当比较窄的时候做直线用)

因为四边形是用TGraphicControl的canvas画的

因此就算画一个斜的四边形,它的点击范围依然是一个矩形(因为delphi的可显示控件基本都是如此)

我怎么来处理这个点击范围啊,让它只有在鼠标点击到四边形内的时候才算是点击中控件

另外还有一个问题,因为其有效范围是一个矩形,因此会造成两个控件相互折叠,导致无法选择下面的控件(因为两条直线交叉的情况很多),怎么解决啊啊啊

高手指点吧,拜
...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cccccccs 2002-12-30
  • 打赏
  • 举报
回复
用PtInRegion不能解决实际问题

并且如果有两条线彼此离得很近或交叉,下面的线就会被上面的覆盖住,而无法选择

所以要找一个真正解决问题的方法才行
westfly 2002-12-30
  • 打赏
  • 举报
回复
在它们的Parent控件的消息处理里作判断
westfly 2002-12-28
  • 打赏
  • 举报
回复
用PtInRegion判斷點是否在四邊形内,若否不處理消息。
guestman 2002-12-27
  • 打赏
  • 举报
回复
描述的再清楚些

5,391

社区成员

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

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