15,979
社区成员
发帖
与我相关
我的任务
分享
void CView3::OnPaint()
{
CPaintDC dc(this); // device context for painting
dc.SetWindowOrg(m_nHScrollPos, m_nVScrollPos);
for(int j=2;j<m_TotalRows;j++)
{ //整个循环回路
int Rows;//用来表示分支数
POINT P;
P.x=20;
P.y=180*(j-1);//定义起始点
POINT point1[40];
/**********判断备注是否有内容决定元部件的正真起始点*********/
if(m_nRow[j].GetAt(0)!="")
point1[0]=Draw0(P,m_nRow[1].GetAt(0),m_nRow[1].GetAt(0));
else
point1[0]=P;
/************下面处理有分支回路********************/
if(m_nRow[j].GetAt(1)!=""&&m_nRow[j+1].GetAt(1)=="")//表示第j条是有分支回路的首条
{//对有分支回路的处理开始
for(int n=j;n<m_TotalRows;n++)/******加上这个循环就运行出错**********/
{//开始得到分支数
if((m_nRow[n].GetAt(1))!="")
{Rows=n;
n=m_TotalRows;
}
}//结束得到分支数
}//对有分支回路处理结束
}//整个循环回路结束
}
上面根据读出数据库的内容进行绘图的部分代码带*号的部分是我想根据一行的第一个是否是空来判断
跟踪看下就可以啦,你是来散发的吧