1在CPictureEx::OnPaint() 函数中2将下面代码:3::BitBlt(dc.m_hDC,0,0, nPaintWidth, nPaintHeight, m_hMemDC, m_PaintRect.left, m_PaintRect.top, SRCCOPY);45替换为:67SIZE size =GetSize();89::StretchBlt(dc.m_hDC,0,0,(int)(size.cx*0.5),(int)(size.cy*0.5),m_hMemDC,0,0,size...
你可以像处理标准的CStatic一样处理CPictureEx,可以手动创建它(实际上,当你的工程窗口不是对话框时,你必须得这样),调用CPictureEx::Create(), 接着调用CPicureEx::Load()和CPicture::Draw()。 二、 ATL工程中加入GIF动画 ATL版的CPitureExWnd使用也是以上步骤,但是第三点中不同的是,没有ClassWizard的帮助,你须...
1、主要是修改OnPaint函数,这个方法里使用了BitBlt函数,这是一个不能缩放图片的函数,我们使用StretchBlt来实现缩放。 2、使用SetPaintRect函数,此函数在CPictureEx类中。 看核心代码: CPictureEx*m_Picture;voidCAnimationPic::Draw(CDC*pDC)//绘制GIF动画 { CRect rect;//定义矩形大小 rect.TopLeft().x = m_n...
本类支持各种常用图片格式,图片显示方式支持左上、中、右下、缩放、平铺等,背景支持透明、颜色填充等。 使用很简单,简单使用示例: 在头文件中定义: CPictureEx m_pic; 设置属性: m_pic.Attach(::GetDlgItem(m_hWnd, IDC_PIC1)); "imggif 运行效果截图: ...
你可以调用CPictureEx[Wnd]::Stop()在任意时刻停止播放线程。如果你不但想终止播放线程,还想释放资源,使用CPictureEx[Wnd]::UnLoad()。注意:CPictureEx[Wnd]::Load自动调用Unload()函数。 装载一个图片后,调用CPictureEx[Wnd]::Draw()显示它。如果是一个GIF动画,Draw函数会建立一个背景线程去播放动画;如果是一个...
CPictureEx m_GifPic; 4.在视图类的OnCreate中创建 CPictureEx 对象并加载图片: [cpp]view plaincopy m_GifPic.Create(NULL,WS_CHILD | WS_VISIBLE |SS_ENHMETAFILE,CRect(50,50,100,100),this,1234); m_GifPic.Load(_T("inter.gif")); m_GifPic.ShowWindow(SW_HIDE);...
CPictureEx[Wnd]::UnLoad()。注意:CPictureEx[Wnd]::Load自动调用Unload() 函数。 装载一个图片后,调用CPictureEx[Wnd]::Draw()显示它。如果是一个GIF动画, Draw函数会建立一个背景线程去播放动画;如果是一个静止的图片,它会被 OleLoadPicture/IPicture直接显示。你可以调用CPictureEx[Wnd]::Stop()在任意 时刻停止...
// CPictureEx::Load and CPictureEx::Draw. // // By default, the control initializes its background to COLOR_3DFACE // (see CPictureEx::PrepareDC()). You can change the background by // calling CPictureEx::SetBkColor(COLORREF) after CPictureEx::Load(). ...
1、在VC中添加gif图片到工程。。并命名为IDR_FLAG 2、新建类PictureEx。。。注:其基类为CStatic 3、在对话框中添加图片控件。。其ID为IDR_FLAG并通过ClassWizard添加成员m_Flag 类型为CPictureEx 4、在初始化函数BOOL CSCommTestDlg::OnInitDialog() 中添加以下语句 if(m_Flag.Load(MAKEINTRESOURCE(...