单文档多视图MFC

单文档多视图MFC,我在CMainFrame类里写了视图切换的响应函数OnIMG1OnIMG2OnIMG3我想在OnIMG1中再调用view1的函数(改函数中有SetTi... 单文档多视图MFC,我在CMainFrame类里写了视图切换的响应函数OnIMG1 OnIMG2 OnIMG3 我想在OnIMG1中再调用view1的函数(改函数中有SetTimer)
void CMainFrame::OnImg1()
{
……
CView1 *pView=(CView1 *)GetActiveView();
pView->TimerBegin();
……
}

void CView1 ::TimerBegin()
{
if (!SetTimer(1,1000,NULL)) //创建1s的定时器
{
AfxMessageBox("创建定时器失败");
}
}

//WM_TIMER消息
void CView1 ::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CXXXDoc* pDoc = GetDocument();
pDoc->a+=1; //a为int 初始化为0
Invalidate();
CView::OnTimer(nIDEvent);
}

void CView1::OnDraw(CDC* pDC)
{
……
char p[10];
sprintf(p,"%-06.3f",pDoc->a);//压力的数据格式、单位是否确定
pDC->TextOut(100,300,p);}

请问 怎么没定时刷新啊
展开
 我来答
ll3096
2011-05-10 · TA获得超过108个赞
知道答主
回答量:96
采纳率:0%
帮助的人:112万
展开全部
你设置断点跟踪下看 看定时器是否设置了 然后看定时器的响应函数是否执行了, 还有你的OnDraw是否执行了 我记得重绘应该写在OnPaint里的
elaineliyan
2011-05-10 · TA获得超过446个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:143万
展开全部
void CView1 ::TimerBegin()
{
if (!SetTimer(1,1000,NULL)) //创建1s的定时器
{
AfxMessageBox("创建定时器失败");
}
}

这就是你说的定时器吗?但是没有创建啊?没看到SetTimer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e81bb48
2011-05-10 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:121万
展开全部
跟踪看看两个pDoc是否是同一值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式