龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC中用GDI函数实规高速平滑动画(4)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
6、添加了绘图函数,下面再介绍如何使用CMemBitmap类,来实现动画效果: 首先,我们在视图类(也可以是其它窗口类)中声明一个CMemBitmap成员变量m_MemBi

6、添加了绘图函数,下面再介绍如何使用CMemBitmap类,来实现动画效果:

首先,我们在视图类(也可以是其它窗口类)中声明一个CMemBitmap成员变量m_MemBitmap,代码如下:

private:

    CMemBitmap m_MemBitmap;

然后,我们重载Cview类函数OnInitialUpdate(),以便视图初始化结束后初始化位图对象,并且视图指针传递过去,其实现代码如下:

void CTestBitmapView::OnInitialUpdate()

{

    CView::OnInitialUpdate();

    // TODO: Add your specialized code here and/or call the base class

    m_MemBitmap.init(this);

    SetTimer(1,100,NULL);   

在函数最后,启动了一个定时器, 我们将用定时来实现动画功能。

接着,我们重载定时器消息函数OnTimer实现动画功能。其实现代码如下:

void CTestBitmapView::OnTimer(UINT nIDEvent)

{

    int        x , y;//文本显示的位置

    CRect    rect;//客户区域

    CDC*    pDC = GetDC();//获取视图的DC

    CDC    dcComp;

    //得到客户区尺寸

    GetClientRect(&rect);

    //随机获得要显示文本的位置

    srand( (unsigned)time( NULL ) );

精彩图集

赞助商链接