使用CreatePolygonRgn出错,各位大虾帮忙看看

ZYH217_808 2007-01-19 04:03:25
LineNode node = LineArray.GetAt(i);
CPoint p[4];
p[0].x = node.p1.x; //选中范围 +-6
p[0].y = node.p1.y + 9;
p[1].x = node.p1.x;
p[1].y = node.p1.y - 9;
p[2].x = node.p2.x;
p[2].y = node.p2.y - 9;
p[3].x = node.p2.x;
p[3].y = node.p2.y + 9;

lnRgn.CreatePolygonRgn(p,4,WINDING); //出错行

if(lnRgn.PtInRegion(point))
{
return 1;
}

如以上代码,是想在一定区域内选中一条直线,现在的问题是:当选中第一条直线的时候没有错误,但点击第二条直线的时候就会出错.调试错误位置是在:如上标示.不知是什么问题,请高手指教.
...全文
201 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cleverwyq 2007-01-22
  • 打赏
  • 举报
回复
如果lnRgn是成员变量,在return之前 lnRgn.Detach();
CharlesPrince 2007-01-22
  • 打赏
  • 举报
回复
p[2].y = node.p2.y - 9;
如果它小于9呢?

15,975

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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