| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1415 人关注过本帖
标题:求助VC2005 中Teechart 控件画图的问题?
取消只看楼主 加入收藏
yangsenyuany
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-27
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
求助VC2005 中Teechart 控件画图的问题?
// Dlgsignal.cpp : 实现文件
//

#include "stdafx.h"
#include "commtest1.h"
#include "Dlgsignal.h"
#include "commtest1Dlg.h"





// Dlgsignal 对话框

IMPLEMENT_DYNAMIC(Dlgsignal, CDialog)

Dlgsignal::Dlgsignal(CWnd* pParent /*=NULL*/)
    : CDialog(Dlgsignal::IDD, pParent)
    ,m_tchart_Sig(0)//这里报错
    , m_signalnumber(0)
   
   
{
   
}

Dlgsignal::~Dlgsignal()
{
}

void Dlgsignal::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //DDX_Control(pDX, IDC_TCHART1, m_teechart_signal);
    DDX_Text(pDX, IDC_EDIT_SIGNALNUMBER, m_signalnumber);

    DDX_Control(pDX, IDC_TCHART1, m_tchart_Sig);
}


BEGIN_MESSAGE_MAP(Dlgsignal, CDialog)
    ON_BN_CLICKED(IDC_BUTTON_Drawsignal, &Dlgsignal::OnBnClickedButtonDrawsignal)
END_MESSAGE_MAP()


// Dlgsignal 消息处理程序

void Dlgsignal::OnBnClickedButtonDrawsignal()
{
    // TODO: 在此添加控件通知处理程序代码
    UpdateData(TRUE);
    Ccommtest1Dlg commtest1dlg;
    CString recievedate;
    recievedate=commtest1dlg.m_RecieveData;
    char*ch=new char[m_signalnumber*6];
//    m_rFile.Write((LPCTSTR)commtest1dlg.m_RecieveData,m_RecieveData.GetLength());
    ch=(LPSTR)(LPCTSTR)recievedate;
/////////////////////////////////////////////////////////////////////
//    CSeries mycs = (CSeries)m_teechart_signal.Series(0);
//////////////////////////////////////////////////////////////////////

    //FILE *pFile=fopen(lpzmpPath,"r");//数据文件
    //char*ch=new char[m_signalnumber*6];
    char*mid=new char[m_signalnumber*6];//NUM*6

    //fread(ch,1,m_signalnumber*6,pFile);//串口数据为 20 1F 即一个AD采集的数据占用6个ASCII码(2个空格)
    //fclose(pFile);

    unsigned int*data=new unsigned int[m_signalnumber];
    double*AD_V=new double[m_signalnumber];
    int m=0;
    for(int n=0;n<m_signalnumber*6;n++)
    {
        if(ch[n]<58)
        {
            mid[n]=ch[n]-48;

        }
        if(ch[n]>64)
        {
            mid[n]=ch[n]-55;
        }
    }
    for(int n=0;n<m_signalnumber*6;n+=6)
    {               
            data[m]=(mid[n])*16*16*16+(mid[n+1])*16*16+(mid[n+3])*16+mid[n+4];
            m++;            
    }
   
   
    for(int n=0;n<m_signalnumber;n++)//AD-将Ad转换结果转换为电压值
    {
       if(data[n]<32768)
       {
            AD_V[n]=(double)(data[n])*20.0/65536.0;
       }
       else
       {
            AD_V[n]=((double)(data[n])-65536.0)*20.0/65536.0;
       }

      m_tchart_Sig.Series(0).AddXY(n,AD_V[n],NULL,RGB(0,255,0));    //这里出错了
    }
   
   
    SetTimer(2,50,NULL);
   
    delete[] ch,mid,data,AD_V;  

}
1>Dlgsignal.cpp
1>.\Dlgsignal.cpp(23) : error C2664: 'CTchart1::CTchart1(const CTchart1 &)' : cannot convert parameter 1 from 'int' to 'const CTchart1 &'
1>        Reason: cannot convert from 'int' to 'const CTchart1'
1>        No constructor could take the source type, or constructor overload resolution was ambiguous
1>.\Dlgsignal.cpp(104) : error C2228: left of '.AddXY' must have class/struct/union
1>        type is 'LPDISPATCH'
1>        did you intend to use '->' instead?
搜索更多相关主题的帖子: 画图 include 对话框 
2011-06-27 21:53
yangsenyuany
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-27
收藏
得分:0 
自己先顶一个
2011-06-27 21:54
yangsenyuany
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-27
收藏
得分:0 
第一句,m_tchart_Sig是CTChart型变量,当添加变量时自动生成的,网上有人说可以删去;后一处,有网友解释“手工地将Series函数返回的LPDISPATCH(不知道写对没)变量用(CSeries)CTChart::Series(n)转换为CSeries的对象,然后进行画图啊什么的操作”,我没看明白
2011-06-30 16:33
快速回复:求助VC2005 中Teechart 控件画图的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021766 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved