状态栏动画效果
功能展示
在我们实际的上位机程序编写中,有时为美化程序界面,会在状态栏播放一个动画。那么如何美化呢? 这一例程就实现了这一功能,效果如图
16.上位机VC MFC实现状态栏动画效果
要点提示 要想在状态栏中显示进度条,也是非常简单,只要使用CAnimateCtrl控件便可,加为这个控件可以用来播放无声的AVI动画。所以我们只在在状态栏中嵌入一个CAnimateCtrl控件,就可以实现动画效果的状态栏
实现功能 •1.新建一个对话框应用程序 •2.在对话框资源中添加一个CAnimateCtrl控件,关联一个变量 •CAnimateCtrl m_Animate;再添加另一状态栏变量 CStatusBar m_StatusBar •3.在对话框OnInitDialog()中对这两变量初始化,便可完成播放动画功能;•m_StatusBar.Create(this); • UINT Indicates[4]; • for(int i = 0; i<4;i++) • {Indicates= 50+i;} • m_StatusBar.SetIndicators(Indicates,4); • m_StatusBar.GetStatusBarCtrl().SetMinHeight(45); • CRectrect; • GetClientRect(rect); • UINTPaneWidth = rect.Width()/5; • for(intn = 0;n<4;n++)//设置面板宽度 • {m_StatusBar.SetPaneInfo(n,50+n*10,SBPS_NORMAL,PaneWidth);} • m_StatusBar.SetPaneText(0,"工控编程吧");//设置状态栏面板文本 • m_StatusBar.SetPaneText(1,"GKBC8.COM"); • m_StatusBar.SetPaneText(2,"动画演示:"); • m_Animate.SetParent(&m_StatusBar); • RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); • CRectRect; • m_StatusBar.GetStatusBarCtrl().GetRect(3,&Rect); • CRectProgRect(Rect.left,2,Rect.right,Rect.Height()+2); • m_Animate.MoveWindow(ProgRect); • m_Animate.Open("dmt.avi"); • m_Animate.Play(0,-1,-1);
下面演示功能实现的过程
源码及视频教程下载 (仅电脑上可见)
|