|
哦,对不起,是EVC4.0
我用动态链接库实现了画坐标系(横轴、纵轴)、画曲线、文件存储等功能;
在MFC下,用SetTimer设置计时器为1秒,在OnTimer中调用动态链接库实现每一秒绘图一次。
在VC中运行时没有任何问题,移植到EVC下无法自动刷新(将程序最小化然后再最大化可以看出曲线已经移动了)。
void CDView::OnInitialUpdate()
{
CRect Rect;
GetClientRect(Rect);
m_Plot.Create(WS_CHILD|WS_VISIBLE,Rect,this,12000);//
......
SetTimer(1,1000,NULL);//设置计时器时间为1秒
canSize=TRUE;
CView::OnInitialUpdate();
}
void CDView::OnTimer(UINT nIDEvent) //捕获时间
{
// TODO: Add your message handler code here and/or call default
static BOOL pros={FALSE};
if(!pros){
pros=TRUE;
{
double y=(double)(sin(xxx)*10+10);
m_Plot.AddPoint(0, CTime::GetCurrentTime(), y);//在动态链接库中实现画新的曲线
}
{
//double y =(double)(abs(rand())%200);
double y=(double)(cos(xxx)*10+10);
m_Plot.AddPoint(1, CTime::GetCurrentTime(), y);
}
/* {
double y =(double)(abs(rand())%200);
m_Plot.AddPoint(2, CTime::GetCurrentTime(), y);
}
*/ {
//double y =(double)(abs(rand())%2000);
double y=10.0;
m_Plot.AddPoint(3, CTime::GetCurrentTime(), y);
}
Invalidate();
pros=FALSE;
xxx+=10*3.1415926*2/360;
}
CView::OnTimer(nIDEvent);
}
上面两段代码是MFC中调用动态链接库的函数代码。根据运行结果来分析,动态链接库中应该没什么问题,
是不是这段代码中出现了问题。 |
|