查看: 5953|回复: 0
打印 上一主题 下一主题

如何在VC中实现淡入淡出的启动画面

[复制链接]
跳转到指定楼层
1#
发表于 2008-11-26 15:53:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
一日心血来潮,想给启动画面来个淡入淡出,于是去谷歌(google)查了半天,无果。但知道了AnimiateWindow 这个函数。好吧 ,让我们开始吧。首先,请在需要淡入淡出 窗口 的cpp文件或者stdafx.h加入下列代码(注意要加在#include前面哦,否则没有作用哦)。

以下为引用的内容:
#undef WINVER //取消原有版本定义,重新定义版本
#define WINVER 0x5000 //为了使AnimateWindow函数可用


#include <afxwin.h>  



然后在相关文件分别加入OnCreate,OnClose,OnEraseBkgnd和OnTimer消息函数。记得在相关构析函数内加入 :

以下为引用的内容:
SetTimer(1, 3000, NULL); //设定定时器1,定时3秒  



OnCreate消息函数里添加淡入窗口或者背景位图代码

以下为引用的内容:
BOOL CSplashWnd::OnCreate(LPCREATESTRUCT lpcs)
{
CenterWindow(); //窗口位于屏幕中心
AnimateWindow(GetSafeHwnd(), 500, AW_BLEND); //淡入图片0.5秒

return true;
}  



OnClose消息函数是添加淡出窗口或背景位图代码:

以下为引用的内容:
void CSplashWnd::OnClose()
{
AnimateWindow(GetSafeHwnd(), 500, AW_BLEND | AW_HIDE); //淡出图片0.5秒

CWnd::OnClose();
}  


OnEraseBkgnd消息函数是添加背景 位图 :

以下为引用的内容:
BOOL CSplashWnd::OnEraseBkgnd(CDC *pDC)
{
DDB mSplashBitmap;
mSplashBitmap.DisplayDDB(pDC, IDB_SPLASH); //显示位图资源IDB_SPLASH

return true;
}  

OnTimer消息函数是添加定时关闭代码:

以下为引用的内容:
void CSplashWnd::OnTimer(UINT nIDEvent)
{
KillTimer(1); //关闭定时器1
PostMessage(WM_CLOSE, 0, 0); //发送关闭窗口信息
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表