工控编程吧
标题:
32上位机VC MFC播放动画美化触摸屏程序
[打印本页]
作者:
qq263946146
时间:
2015-11-21 22:41
标题:
32上位机VC MFC播放动画美化触摸屏程序
32上位机VC MFC播放动画美化触摸屏程序
功能展示
有时我们程序播放些动画会使程序更加有视觉冲击,如触摸屏上的程序都很漂亮,那么如何简单快速的播放动画呢?我们这个例程就来实现,只要简单使用两个函数便可实现,效果如图;
(, 下载次数: 5)
上传
点击文件名下载附件
要点提示
动画的播放我们可以使用MFC类库中的CAnimateCtrl控件,方便快速。该类的主要方法有
Open()方法,此函数用于播放AVI文件,在播放AVI动画前,首先得打开一个AVI文件,OPEN()语法如下
BOOL Open( LPCTSTR lpszFileName ); lpszFileName 为标识 AVI文件名称; BOOL Open( UINT nID ); nID 标识AVI资源ID
播放AVI时用PLAY,语法如下BOOL Play( UINT nFrom, UINT nTo, UINT nRep ); nFrom帧的起始位置,nTo,帧的终止位置,nRep循环资源,-1为始终循环播放;
其他更多方法,可以查阅MSDN;
要注意的是CAnimateCtrl只能播放没有声音的AVI文件,如果播放有声音的AVI,得使用微软公司的ActiveX插件:CAnimation,.
实现功能
1.新建基于对话框的应用程序
2.拖拽两个动画插件CAnimateCtrl,关联两具变量CAnimateCtrl m_Center;
CAnimateCtrl m_Navigation;
3.在初始化时加载AVI动画
m_Navigation.Open("gd.avi");
m_Navigation.Play(0,-1,-1);
m_Center.Open("middle.avi");
m_Center.Play(0,-1,-1);
当然动画文件得存在
4.再放入一些图片,按钮等控件,效果如我们例程;
5.最后是控件位置的排版,我们例程是通用代码完成
void CGkbc8Dlg::AdjustCtrol()
{
CRect btRect,bgRect;
m_Navigation.GetWindowRect(btRect);
CBitmap bm;
BITMAP b;
bm.LoadBitmap(IDB_BITMAP1);
bm.GetBitmap(&b);
//将窗口移动到桌面中心,且设置窗口大小
int x = (GetSystemMetrics(SM_CXSCREEN)-b.bmWidth)/2;
int y = (GetSystemMetrics(SM_CYSCREEN)-b.bmHeight-btRect.Height())/2;
SetWindowPos(&wndTop,x,y,b.bmWidth,b.bmHeight+btRect.Height(),SWP_NOREDRAW);
//将中心动画移动到背景图中心;
GetDlgItem(IDC_BK)->GetWindowRect(bgRect);
m_Center.GetWindowRect(btRect);
x = (bgRect.Width()-btRect.Width())/2;
y = (bgRect.Height()-btRect.Height())/2;
m_Center.MoveWindow(x,y,btRect.Width(),btRect.Height());
//将底部动画移动到底部位置
GetWindowRect(bgRect);
m_Navigation.GetWindowRect(btRect);
y = bgRect.Height()-btRect.Height();
m_Navigation.MoveWindow(0,y,btRect.Width(),btRect.Height());
//将采购控件移动到固定位置
GetDlgItem(IDC_SHOPCENTER)->MoveWindow(40,95,200,40);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/c90fd013a8a93b3b933dbaf80aaaf183/0/0/w_19rt9crbn9.swf-albumId=4920456409-tvId=4920456409-isPurchase=0-cnId=12[/iqiyi]
源码及视频下载
(仅在电脑可见)
[attach]1291[/attach]
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4