QQ登录

只需一步,快速开始

32上位机VC MFC播放动画美化触摸屏程序

[ 复制链接 ]
32上位机VC MFC播放动画美化触摸屏程序




功能展示

有时我们程序播放些动画会使程序更加有视觉冲击,如触摸屏上的程序都很漂亮,那么如何简单快速的播放动画呢?我们这个例程就来实现,只要简单使用两个函数便可实现,效果如图;

32上位机VC MFC播放动画美化触摸屏程序

32上位机VC MFC播放动画美化触摸屏程序

要点提示
动画的播放我们可以使用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.最后是控件位置的排版,我们例程是通用代码完成
  1. void CGkbc8Dlg::AdjustCtrol()
  2. {
  3.         CRect btRect,bgRect;
  4.         m_Navigation.GetWindowRect(btRect);
  5.         
  6.         CBitmap bm;
  7.         BITMAP b;
  8.         bm.LoadBitmap(IDB_BITMAP1);
  9.         bm.GetBitmap(&b);
  10. //将窗口移动到桌面中心,且设置窗口大小
  11.         int x = (GetSystemMetrics(SM_CXSCREEN)-b.bmWidth)/2;
  12.         int y = (GetSystemMetrics(SM_CYSCREEN)-b.bmHeight-btRect.Height())/2;
  13.         SetWindowPos(&wndTop,x,y,b.bmWidth,b.bmHeight+btRect.Height(),SWP_NOREDRAW);
  14. //将中心动画移动到背景图中心;
  15.         GetDlgItem(IDC_BK)->GetWindowRect(bgRect);
  16.         m_Center.GetWindowRect(btRect);
  17.         x = (bgRect.Width()-btRect.Width())/2;
  18.         y = (bgRect.Height()-btRect.Height())/2;
  19.         m_Center.MoveWindow(x,y,btRect.Width(),btRect.Height());
  20. //将底部动画移动到底部位置
  21.         GetWindowRect(bgRect);
  22.         m_Navigation.GetWindowRect(btRect);
  23.         y = bgRect.Height()-btRect.Height();
  24.         m_Navigation.MoveWindow(0,y,btRect.Width(),btRect.Height());
  25. //将采购控件移动到固定位置
  26.         GetDlgItem(IDC_SHOPCENTER)->MoveWindow(40,95,200,40);
  27. }
复制代码
我们来演示下功能实现的整个过程

源码及视频下载
(仅在电脑可见)
  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!








回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索