MFC采用定时器绘制简单动画
生活随笔
收集整理的這篇文章主要介紹了
MFC采用定时器绘制简单动画
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
MFC采用定時(shí)器繪制簡(jiǎn)單動(dòng)畫(huà)
參考孔令德老師的《計(jì)算幾何算法與實(shí)現(xiàn)》
非雙緩沖技術(shù)繪制圓的半徑旋轉(zhuǎn)動(dòng)畫(huà):
view類(lèi)中添加變量:
在構(gòu)造函數(shù)中初始化:
CtestView::CtestView() {// TODO: 在此處添加構(gòu)造代碼P0=(0,0);P1=(0,0);//初始化直線的端點(diǎn)值Alpha=0;//旋轉(zhuǎn)起始角度r=200;//初始化圓的半徑 }在OnDraw函數(shù)中添加繪制函數(shù):
// TODO: 在此處為本機(jī)數(shù)據(jù)添加繪制代碼CRect rect;GetClientRect(&rect);//獲得客戶(hù)區(qū)大小pDC->SetMapMode(MM_ANISOTROPIC);//設(shè)置映射模式pDC->SetWindowExt(rect.Width(),rect.Height());//設(shè)置窗口范圍pDC->SetViewportExt(rect.Width(),-rect.Height());//設(shè)置視區(qū)范圍,y向上為正方向pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);//設(shè)置坐標(biāo)系原點(diǎn)rect.OffsetRect(-rect.Width()/2,-rect.Height()/2);//校正客戶(hù)區(qū)矩形//繪制直線圓周動(dòng)畫(huà)P1.x=ROUND(r*cos(Alpha*PI/180));P1.y=ROUND(r*sin(Alpha*PI/180));pDC->MoveTo(P0);pDC->LineTo(P1);SetTimer(1,150,NULL);//需要OnTimer函數(shù)來(lái)響應(yīng)為定時(shí)器函數(shù)添加OnTime響應(yīng),在類(lèi)向?qū)е刑砑?#xff1a;
總結(jié)
以上是生活随笔為你收集整理的MFC采用定时器绘制简单动画的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【窗口置顶神器】DeskPins
- 下一篇: 人工智能--状态空间问题求解方法