怎样实现动画背景旗帜

2008-02-23 05:40:42来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

以下代码是关于用类CmdiMainClient来显示动画背景旗帜的一个例子。原理是很简单的,我们只需要一系列连续的位图,并且让他连续显示。在这个例子中您能够用鼠标的右键来开始/停止这个动画,假如点左键的话,就能够显示一个子窗口,来保持动画是继续。为了您的方便,您能够把代码直接从浏览器中拷贝下去,并且插到您的代码中就行了。以下是代码:


#include "stdafx.h"
#include "banner.h"
#include "mainfrm.h"

#include "resource.h"

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMdiMainClient

CMdiMainClient::CMdiMainClient()
: m_sizeClient(0, 0)

{
VERIFY (m_bmpBackGround.LoadBitmap(IDB_BCKGRD));
ASSERT (m_bmpBackGround.GetSafeHandle());

VERIFY (m_bmpBackGround2.LoadBitmap(IDB_BITMAP0));
ASSERT (m_bmpBackGround2.GetSafeHandle());

BmpLoaded = 1;
StopRotation = FALSE;
}

CMdiMainClient::~CMdiMainClient()
{
if(m_bmpBackGround.GetSafeHandle())
m_bmpBackGround.DeleteObject();

if(m_bmpBackGround2.GetSafeHandle())
m_bmpBackGround2.DeleteObject();
}


BEGIN_MESSAGE_MAP(CMdiMainClient, CWnd)
//{{AFX_MSG_MAP(CMdiMainClient)
// NOTE - the ClassWizard will add and remove mapping macros here.
ON_WM_TIMER()
ON_WM_ERASEBKGND()
ON_WM_RBUTTONDOWN()
ON_WM_LBUTTONDOWN()
ON_WM_SIZE()
/

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: C 箴言:在资源管理类中准备访问裸资源

下一篇: C 箴言:谨慎考虑资源管理类的拷贝行为