• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

也谈用VC5.0制作启动封面

发布: 2007-7-04 20:47 | 作者: admin | 来源:  网友评论 | 查看: 25次 | 进入软件测试论坛讨论

领测软件测试网 贾 暾

---- 读 了 贵 报9 月7 日《 学 习 与 编 程》 版 刊 登 的 宋 立 波 先 生 的 文 章, 本 文 介 绍 另 一 种 方 法 来 制 作 封 面, 此 方 法 对 于 单 文 档、 多 文 档 及 对 话 框 窗 体 均 适 用, 且 弥 补 了 宋 立 波 先 生 文 章 中 所 述 封 面 关 闭 后 应 用 程 序 窗 体 才 能 显 示 的 不 足 之 处。 方 法 如 下:

---- 1. 用App Wizard 生 成 一 工 程, 然 后 打 开 资 源 编 辑 器,Import 一 个BMP 图 形 文 件( 注: 由 于VC 的Bitmap 资 源 只 能 使 用256 色 图 形, 所 以 需 用 画 板 或 其 他 图 形 工 具 转 换 成256 色 图 形), 打 开 属 性 对 话 框, 将ID 号 改 为IDB_BITMAP -SPLASH。

---- 2. 新 建 一 个 对 话 框 资 源, 打 开 属 性 对 话 框, 选 择General; 将 新 对 话 框 资 源 的ID 号 改 为IDD_DIALOG_SPLASH, 选 择Styles, 将Title bar 选 择 框 置 空, 改 变Border 属 性; 选 择None, 则 封 面 为 平 面 图 形; 选 择Dialog Frame, 则 封 面 为 立 体 三 维 图 形。 在 对 话 框 资 源 上 添 加Picture 控 件, 打 开 属 性 对 话 框 选 择General, 将Picture 控 件 的Type 改 为Bitmap、 Image 改 为IDB -BITMAP -SPLASH; 将 对 话 框 资 源 的 大 小 改 为 与Picture 控 件 大 小 相 同。

---- 3. 选 对 话 框 资 源IDD_DIALOG_SPLASH, 打 开Class Wizard 添 加 一 个 新 类, 类 名 定 义 为CSplash。

---- 4. 在MainFrame.h 的 类 定 义 中 添 加 一 指 针 成 员 变 量 *sphash, 类 型 为CSplash; 在MainFrame.cpp 文 件 中 添 加 头 文 件, 引 用 #include“splash.h”。 打 开Class Wizard, 选 择Message Maps, 在Class name 中 选 择CMainFrame, 在Messages 中 选 择WM_TIMER 添 加OnTimer 函 数。

---- 5. 在CMainFrame 类 的OnCreate 函 数 中 添 加SetTimer 函 数, 并 添 加 显 示splash 对 话 框 的 程 序 段:

int CMainFrame::OnCreate (LPCREATESTRUCT 1pCreateStruct) { SetTime(1,50,NULL);

---- ∥ 添 加ID 号 为1 的WM_TIMER 事 件, 响 应 频 率 由 用 户 自 定 义, 但 不 宜 过 大

splash=new CSplash(); ∥ 添 加 播 放WAV 声 音 的 程 序 段 ∥ 例 如:sndPlaySound(“sound.way,”SND_ASYNC); splash ->Create(IDD_DIALOG1); splash ->ShowWindo(SW_SHOW); splash ->UpdateWindow(); … … ∥ 此 处 是OnCreate 函 数 中 原 有 的 程 序 段 CenterWindow(); ∥ 应 用 程 序 窗 体 居 中 显 示 return 0; }

---- 6. 在CMainFrame 类 的OnTimer 函 数 中 添 加 响 应WM_TIMER 事 件 的 程 序 段: Void CMainFrame::OnTimer(UINT nIDEvent)

{ ∥TODO:Add your message handler code here and/or call default if (nIDEvent==1) { if(splash ->Is WindowVisibl()) { splash ->SetActiveWindow(); ∥ 封 面 置 为 当 前 活 动 窗 体 splash ->UpdateWindow(); Sleep(2000); ∥ 封 面 显 示 停 留 时 间 由 用 户 自 己 改 变 splash ->SendMessa(WM_CLOSE); } else { SetActiveWindow(); ∥ 应 用 程 序 窗 体 置 为 当 前 活 动 窗 体 KillTimer(1); ∥ 清 除WM_TIMER 事 件 } } }

---- 到 此, 封 面 制 作 成 功, 如 果 要 添 加 声 音, 只 需 按 宋 立 波 先 生 文 章 中 所 述 方 法, 添 加 在CMainFrame 类 的OnCreate 函 数 中 注 释 段 内 即 可。 此 法 制 作 简 单, 容 易 实 现, 唯 一 的 缺 点 是 此 封 面 显 示 的 图 形 色 彩 不 够 丰 富。( 贾 暾)

back.gif (1185 字节)

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网