首页 >> 读书频道 >> 电脑 >> Check两个物件是否相碰
 
· Visual Basic
· 取得各字型的信息
· 在IE右键菜单中添加菜单
· 雨滴式的显示图片
· 如何拦截键盘输入
· 求解数列和通用程序
· 彩色BMP档转成灰度
· 在IE右键菜单中添加菜单
· 读取文件的建立时间及存取
· 在IE右键菜单中添加菜单
· IE浏览器完全控制下
· RAS API上的其他F
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

Check两个物件是否相碰


查看有无更新版本

关键字:VB 2006-9-18

 

基本上这两个物件要是一个四方形的区域,如果是不规则形者,不在此限,
这个问题似乎没有很大的困难,不过API有提供了,何不用上一用省得程式得长,又
有Bug就不好了。
另外,如果Check某个点有没有在某个RECT中,则用PtInRect API,这应没有什麽太困
难,所以没有范例,而某条线和Rect又有没有相交呢?似乎没有什麽API来做,所以可
以考虑使用PtInRect()来做,将线条的每个点传进去Check不就知道,只是如何取得线
条上的每一个点,我只会土法炼钢,程式臭臭长长的,不敢拿出来给大家叁考,所以
若有人有其演算法,可以Mail给我

'以下在.Bas中Type RECT '榘形的四个座标 Left As Long Top As Long Right As Long Bottom As LongEnd TypeType POINTAPI x As Long y As LongEnd TypeDeclare Function IntersectRect Lib "user32" (lpDestRect As RECT, _ lpSrc1Rect As RECT, lpSrc2Rect As RECT) As LongDeclare Function PtInRect Lib "user32" (lpRect As RECT, _ pt As POINTAPI) As Long'Check rect1, rect2有没有相交集,若有,则Orect存相交集的四个座标Public Function GetOverlap(rect1 As RECT, rect2 As RECT, Orect As RECT) _ As BooleanDim i As LongGetOverlap = Falsei = IntersectRect(Orect, rect1, rect2)If i <> 0 Then GetOverlap = TrueEnd Function'以下在Form中,form中放两个CommandBoxPrivate Sub Form_Load()Dim i As Long, rect1 As RECT, rect2 As RECT, rect3 As RECTDim oo As Booleanrect1.Top = Command1.Toprect1.Left = Command1.Leftrect1.Bottom = Command1.Top + Command1.Heightrect1.Right = Command1.Left + Command1.Widthrect2.Top = Command2.Toprect2.Left = Command2.Leftrect2.Bottom = Command2.Top + Command2.Heightrect2.Right = Command2.Left + Command2.Widthoo = GetOverlap(rect1, rect2, rect3)End Sub

Check两个物件是否相碰

[ 1 ]
Check两个物件是否相碰 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑