VS中如何同时使用两个Teechart画图

emolingzhu 2016-05-06 02:42:58
现在小弟设了两个Teechart,想要同时显示波形和做完FFT后的图像,我只是将做FFT的程序中的m_chart改成m_chart1,我想设置成第一个Teechart看波形,第二个看FFT, 但是现在只有第一个Teechart工作,而且是显示的FFT,两个Teechart设置不同就只有开始的时候,第一个Teechart变量名是m_chart,而且自动生成了tchart1.h和tchart1.cpp文件,第二个Teechart变量名是m_chart1,没有自动生成。h和.cpp的文件,
到底程序应该怎么改呢?求大神指点!
显示波形的程序:
void CtestDlg::OnTimer(UINT_PTR nIDEvent)
{
int nCount = m_Chart.get_SeriesCount();
int chan;
CSeries Chart;
int nSeriesCount;
int i;
int k;

if(nCount != 0){
switch(chan_show){

case 1:
chan = 0;
for(i=0;i<8;i++){
if(i != chan){
Chart = (CSeries)m_Chart.Series(i);
Chart.Clear();
}
}
Chart = (CSeries)m_Chart.Series(chan);
nSeriesCount = Chart.get_Count();
if(0 == nSeriesCount){
DrawLine(m_Time, m_Voltage, XAXISCOUNT, chan);
}else{
for(i=0;i<XAXISCOUNT-1;i++){
m_Current[i] = m_Current[i+1];
}
m_Current[XAXISCOUNT-1] = rand() % 30;
DrawLine(m_Time, m_Current, XAXISCOUNT, chan);
}
break;

我后面紧跟着做FFT的程序

fftw_complex * in, * out;
fftw_plan p;
in = (fftw_complex *) fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex *) fftw_malloc(sizeof(fftw_complex) * N);
if((in==NULL)||(out==NULL)){
}else{
for(i=0;i<N;i++){
in[i][0] = i+1;
in[i][1] = 0;
}
}
p = fftw_plan_dft_1d(N,in,out,FFTW_FORWARD,FFTW_ESTIMATE);
fftw_execute(p);
fftw_destroy_plan(p);
fftw_cleanup();

if(nCount != 0){

switch(chan_show){

case 1:
chan = 0;
for(i=0;i<8;i++){
if(i != chan){
Chart = (CSeries)m_Chart1.Series(i);
Chart.Clear();
}
}
Chart = (CSeries)m_Chart1.Series(chan);
nSeriesCount = Chart.get_Count();
if(0 == nSeriesCount){


DrawLine(m_Time, m_Voltage, XAXISCOUNT, chan);
}else{
for(i=0;i<XAXISCOUNT-1;i++){
m_Current[i] = m_Current[i+1];
}
m_Current[XAXISCOUNT-1] = rand() % 30;

for(i=0;i<N/2;i++){
m_Current[i] = log10(fabs(sqrt(out[N/2+i][0]*out[N/2+i][0] + out[N/2+i][1]*out[N/2+i][1])));
}
for(i=N/2;i<N;i++){
m_Current[i] = log10(fabs(sqrt(out[i-N/2][0]*out[i-N/2][0] + out[i-N/2][1]*out[i-N/2][1])));
}
DrawLine(m_Time, m_Current, XAXISCOUNT, chan);
}
break;

...全文
343 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
S宾 2018-12-06
  • 打赏
  • 举报
回复
楼主,我现在也在做波形分析和FFT之后的显示,现在也是想加入两个TEECHART控件,你当时做的东西还有吗,没有的话能给我说下怎么加两个控件吗
shiguang772 2016-05-24
  • 打赏
  • 举报
回复
我现在也是在VS2012上加teechart的控件,想把每一个节点的采样值都画出图来实时显示,不知从哪里下手,望高手指教
emolingzhu 2016-05-09
  • 打赏
  • 举报
回复
发现自己真脑残,第一个代码就需要换。。。改了之后就好了
emolingzhu 2016-05-06
  • 打赏
  • 举报
回复
我就是添加了两个TEECHART附件,然后想让第一个显示波形,第二个显示做完FFT之后的,但是波形和FFT都在第一个上面显示了
paschen 2016-05-06
  • 打赏
  • 举报
回复
拖入两个Teechart控件就可以了,正如如何有多个按钮一样
emolingzhu 2016-05-06
  • 打赏
  • 举报
回复
求大神指点啊
赵4老师 2016-05-06
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧