恭喜,你发布的帖子
发布于 2016-08-03 08:57:34
4楼
首先要解决一个问题,如果你的区域都是不规则的多边形, 处理起来会很麻烦,要进行内点的处理, 所以尽量处理成矩形之类的规则图形;
2.将这个若干个图形的点集信息, 建立一个不规则数组,因为考虑到这么多图形,难以用想同的点来实现;
大致是这样的形式
struct Graphic{int n; POINT *p}; //n代表该区域的顶点个数;
p包含的信息, 要去申请一块内存, 存放n个点的坐标;
然后
struct Graphic Areas[m];// m个区域
3.写一个函数, 判断某个坐标是否在区域内部
形式如下
BOOL CheckPoint(struct Graphic area, POINT pt);
4.全局脚本循环
int i = 0;
POINT myPoint;
GetCursorPos(&myPoint);
for(i= 0;i!=m; ++i)
{
if(CheckPoint(Areas[i], myPoint)
{
//这里进行颜色和突起操作
break;
}
}
请填写推广理由:
分享
只看
楼主