|
在对话框上拖了两个teechart控件,绘制波形的时候,一个是正确的,另外一个应该是有数据,但是波形没有
效果:
代码:
BOOL CDialogOnline::DrawPointsP(unsigned char ch, double *pdbValue, unsigned short size)
{
unsigned int len = size / 4;
//声明如下数据:
VARIANT vAX, vAY;
SAFEARRAY* psax;
SAFEARRAY* psay;
SAFEARRAYBOUND rgsabound;
//初始化
rgsabound.cElements = len;
rgsabound.lLbound = 0;
psax = SafeArrayCreate(VT_R8, 1, &rgsabound);//分配空间
psay = SafeArrayCreate(VT_R8, 1, &rgsabound);
vAX.vt = VT_ARRAY | VT_R8;//设置为double型数组,VT_R8就是指double
vAX.parray = psax;//把内容加入VARIANT中
vAY.vt = VT_ARRAY | VT_R8;
vAY.parray = psay;
//这时VARIANT 就可以加入数据了
double dtemp;//用来临时存放x坐标
for (long i = 0; i < len; i++)
{
dtemp = i;
SafeArrayPutElement(psax, &i, &dtemp);
dtemp = pdbValue[i - 0];
SafeArrayPutElement(psay, &i, &dtemp);
//更简单写法
//SafeArrayPutElement(psay,&i,dData+i);
}
//开始画图
CSeries lineSeries;
if (ch == 0)
lineSeries = (CSeries)m_chartP.Series(0);
else
lineSeries = (CSeries)m_chartN.Series(0);
lineSeries.Clear();
lineSeries.AddArray(len, vAY, vAX);
return 0;
}
m_chartP m_chartN 对应两个 teechart控件。
第一次用这个控件,搞过的给点意见哈。。。。
谢谢。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|