这段东西哪里错了?
naixi 2002-05-07 08:23:06 程序编译通过,执行的时候发生错误,再调试弹出个框框说有个断点在0x409ab5
估计后面算面积的没错,是中间模板的错误
void CMyHomeworkView::GetRgnArea()
{
area1=0;
int i,j;
CRect rect;
CPoint* m_points;
int m_nPoints;
m_nPoints=0;
CMyHomeworkDoc* pDoc = GetDocument();
CTypedPtrList<CObList,CStroke*>& strokeList = pDoc->m_strokeList;
POSITION pos = strokeList.GetHeadPosition();
while (pos != NULL)
{
CStroke* pStroke = strokeList.GetNext(pos);
m_nPoints = m_nPoints+m_pStrokeCur->m_pointArray.GetSize();
}
m_points = new CPoint[m_nPoints];
CTypedPtrList<CObList,CStroke*>& strokeList1 = pDoc->m_strokeList;
POSITION pos1 = strokeList1.GetHeadPosition();
while (pos1 != NULL)
{
CStroke* pStroke1 = strokeList1.GetNext(pos1);
for(i = 0; i<m_nPoints ; i++)
m_points[i] = m_pStrokeCur->m_pointArray[i];
}
CRgn rgn;
rgn.CreatePolygonRgn(m_points, m_nPoints, ALTERNATE);
rgn.GetRgnBox(&rect);
CPoint point;
for( i = rect.top ; i<rect.bottom;i++)
{
for( j = rect.left; j<rect.right ; j++)
{
point.x = j; point.y = i;
if(rgn.PtInRegion(point))
area1 ++;
}
}
delete[] m_points;
}