网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
浅议软件封面的制作方法
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

曹朝晖

问题的提出
软件封面是指软件启动加载时显示的背景画面,它不但可以起到吸引用户目光的作用,更重要的是当一些程序的初始化工作需要数秒钟时,软件封面可以用来向用户提供一些与该软件相关的信息。软件封面一般包含了软件名称、版本、用户名、用户所在的公司名等信息,显示方式一般分为静态画面和动画。软件封面的制作方法有多种,从易到难,由浅到深,编程人员可以根据需要选择不同的制作方法。本文介绍3种软件封面的制作方法。
添加VC组件
添加组件是制作程序加载背景的一种简单方法。首先进入VC的菜单项Project|Add To Project|Components and Control…,选择Splash Screen组件。然后用Windows附带的画图程序制作一幅位图,在该位图中,可以加入各种各样的信息:如文字、图片等。最后把该位图的资源标识号改为IDB_SPLASH,并确定显示时间,定位到函数OnCreate()中:
  int CsplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
  {
   ……
CenterWindow();
//添加下述代码
SetTimer(1,2000,NULL);//显示2000个毫秒
return 0;
}
该方法的特点是编程简单,且容易实现。但由于只能加载一幅静态画面,所以显得过于单调。
使用Authorware
我们可以利用多媒体制作软件Authorware制作一个多媒体可执行程序(.exe),再用VC的WinExec函数调用该程序的方法来实现动画背景的加载。该方法的主要代码如下:
  void CStdio1View::OnDraw(CDC* pDC)
  {
   CStdio1Doc* pDoc = GetDocument();
   ASSERT_VALID(pDoc);
   //添加如下内容
   if(m_j==TRUE)
{
    //以最大化显示软件动画
WinExec(“YourSofeFace.exe”,SW_MAXIMIZE);  
    //只在开始时显示
    m_j=FALSE;  
   }
……
  }
利用MCIWnd窗口类
MCIWnd是一个控制多媒体设备(如MIDI、数字视频以及CD音频设备等)的窗口类,它提供了一系列的函数、消息和宏,可以非常容易地将多媒体播放和录制功能添加到程序中。本文介绍两种利用MCIWnd类播放AVI文件实现加载动画背景的方法。
1.一种方法是在开始时就运行AVI动画,用户不能中途干预。主要代码如下:
//初始化函数
BOOL CStdio1App::InitInstance()
{
……
//AVI文件名
CString filename=“mpc.avi”;  
DWORD dwMCIWndStyle;
//播放AVI窗口的属性
dwMCIWndStyle=WS_CAPTION|WS_MAXIMIZE|WS_POPUP|WS_VISIBLE|MCIWNDF_NOPLAYBAR|MCIWNDF_NOERRORDLG|MCIWNDF_NOTIFYERROR|
MCIWNDF_NOT IFYMODE;  
long lend,lpos;
//建立播放AVI的窗口
m_hwndMCIWnd=MCIWndCreate(m_hWnd,
AfxGetInstanceHandle(),dwMCIWndStyle,filename);
if(m_hwndMCIWnd)
{
//开始播放
  MCIWndPlay(m_hwndMCIWnd);  
  //取得AVI文件结尾
  lend=MCIWndGetEnd(m_hwndMCIWnd);
  //当前播放的位置
  lpos=MCIWndGetPosition(m_hwndMCIWnd);  
  //查询是否播放完了
while(lpos<lend)  
{
//当前位置
lpos=MCIWndGetPosition(m_hwndMCIWnd);  
  }
//播放完后注销AVI窗口
MCIWndDestroy(m_hwndMCIWnd);  
}
……
}
该方法比较简单,缺点是播放期间只能等待,无法人工干预。
2.第二种方法可以弥补第一种方法的缺陷,即在动画播放时,可以随时进行用户干预。主要代码如下:
BOOL CStdio1App ::InitInstance()
{
……
m_pMainWnd->ShowWindo(SW_SHOWMAXIMIZED);
 m_pMainWnd->UpdateWindow();
 //注册MCIWnd窗口类
 if(!MCIWndRegisterClass())
  return FALSE;  
 DWORD dwMCIWndStyle;  
 //AVI窗口的风格
dwMCIWndStyle=WS_CAPTION|

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号