当前位置: 首页 > 图文教程 > 开发语言 > VC++ > vc.net中实现启动画面来个淡入淡出效果

VC++
在类VC的界面实现中加入目录树
软件换肤技术在 BCB 中的实现
利用非模窗口生成MDI介面
报表输出轻松搞定
Windows 中不规则窗体的编程实现
解说Win32的窗口子类化
使用测试优先方法开发用户界面
一个简单的登录对话框的实现
一个简单的日记本程序
从资源中加载皮肤
一个在RichEdit中添加表情图象的类
ActiveSkin 4.3 软件换肤在VC中的实现
一种另类“关于(About)”对话框的动态显示方法
对话框打印预览及打印
关于如何换肤、子类化的解决方案
制作 MSN、QQ 的消息提示窗口
如何对 BCGControlBarPro 进行换肤
定制个性化的对话框窗口类
改变窗口中的光标形状
更新MFC中的视图,跟踪.NET Framework中的事件

VC++ 中的 vc.net中实现启动画面来个淡入淡出效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 246 ::
收藏到网摘: n/a

找了半天没找实现启动画面来个淡入淡出的代码,只好自己写了个,呵呵,还不错拿给大家看看。

 

 #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); //发送关闭窗口信息
}

    是不是很简单,我看有些关于位图和窗口的淡入淡出很复杂,我刚学VC不久,看不懂。只好想出这简便的办法。有什么建议和意见欢迎大家指出!