CPtrArray 无法更改数据,该如何处理
CPtrArray 无法更改数据
CPtrArray m_PtrArray;//此为view类函数的成员变量
直线时用此方向构造
CGraph *pGraph = new CGraph(spt,ept);
m_PtrArray.Add(pGraph);
当以上函数构造完毕后用以下函数可以成功地用Draw()读出来
for(i=0;i<m_PtrArray.GetSize();i++)
{((CGraph *)m_PtrArray.GetAt(i))->Draw();}
但当用GraphMove(x,y)函数去搬移时就没有用
GraphMove(int num_x,int num_y)函数就是一个将成员量的X坐标加上num_x(y坐标也一样),的一个函数
for(i=0;i<m_PtrArray.GetSize();i++)
{((CGraph *)m_PtrArray.GetAt(i))->GraphMove(-50,-50);}
问题1:经过以上函数 再调Draw()画出来 发现图像没有改变为什么?如何实现
问题2:如何在debug的时候查看类成员的内容呢?
------解决方案--------------------
1
de看你的GraphMove(-50,-50);}函数是如何实现的,如果只是改变参数值,那么图像当然不会改变,你得发出更新视图的命令
2
最简单的是在运行到可以访问到对象的调试点,在调试窗口中输入变量的名称,然后在+上逐层展开其数据成员
CPtrArray m_PtrArray;//此为view类函数的成员变量
直线时用此方向构造
CGraph *pGraph = new CGraph(spt,ept);
m_PtrArray.Add(pGraph);
当以上函数构造完毕后用以下函数可以成功地用Draw()读出来
for(i=0;i<m_PtrArray.GetSize();i++)
{((CGraph *)m_PtrArray.GetAt(i))->Draw();}
但当用GraphMove(x,y)函数去搬移时就没有用
GraphMove(int num_x,int num_y)函数就是一个将成员量的X坐标加上num_x(y坐标也一样),的一个函数
for(i=0;i<m_PtrArray.GetSize();i++)
{((CGraph *)m_PtrArray.GetAt(i))->GraphMove(-50,-50);}
问题1:经过以上函数 再调Draw()画出来 发现图像没有改变为什么?如何实现
问题2:如何在debug的时候查看类成员的内容呢?
------解决方案--------------------
1
de看你的GraphMove(-50,-50);}函数是如何实现的,如果只是改变参数值,那么图像当然不会改变,你得发出更新视图的命令
2
最简单的是在运行到可以访问到对象的调试点,在调试窗口中输入变量的名称,然后在+上逐层展开其数据成员