帮忙检查这部分代码有错不?难度相当大……(GOOGLE EARTH)
程序代码:
void CMy6_1View::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default //获取滑块值 dlgRange=pAdjustDlg->m_slide1.GetPos(); dlgTilt=(pAdjustDlg->m_slide2.GetPos()*90)/100; dlgAzimuth=((pAdjustDlg->m_slide3.GetPos()-50)*180)/50; if(dlgRange>50) { geMutiple=((dlgRange-50)/10.0+1.0)*10; //计算缩小的倍数 } else if (dlgRange<50) { geMutiple=(10.0/((50-dlgRange)+10))*0.1; //计算放大倍数 } else { geMutiple=1.0; } BOOL m_geTimer;// m_geTimer用来控制Timer()函数 m_geTimer=pAdjustDlg->IsTimer;//判断是否停止调整操作 if(m_geTimer==FALSE) { KillTimer(1);//关闭计时器 } m_geCamera.SetRange(geMutiple*oldRange);//重新设置当前视高 m_geCamera.SetTilt((double)dlgTilt);//重新设置当前倾斜角 m_geCamera.SetAzimuth((double)dlgAzimuth);//重新设置当前方位视角 m_geApplication.SetCamera(m_geCamera,1.5);//刷新视图 CView::OnTimer(nIDEvent); }googleearth衍生软件开发部分代码——原书代码
这仅仅是其中一个函数,仅看部分,应该非常难懂……
它老是弹东西出来,应该是定时器的问题
我把定时器部分的代码屏了,就不弹东西了(屏的就是我传上来给大家看得着部分),但是连带的功能也不能实现了
我就是照书打的,就是运行时老弹东西
我修改定时器时间,它弹得就慢,不是定时器问题是什么
是那种隔所定时间它就弹一会的那种
能帮我解决问题得话,感激不尽啊!!!!!!