窗口淡入淡出要使用AnimateWindow函数,要在StdAfx.h文件的开始添加相关宏定义

//编译前在STDAFX.H中加入
#undef WINVER
#define WINVER 0x5000

//在窗口创建时…

int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;

CenterWindow(); //将窗口居中显示
::AnimateWindow(GetSafeHwnd(), 1000, AW_BLEND); //淡入1秒

return 0;
}

//在窗口关闭时…

void CAboutDlg::OnClose()
{
AnimateWindow(GetSafeHwnd(), 1000, AW_BLEND | AW_HIDE); //淡出1秒
CDialog::OnClose();
}

dwFlags:
  AW_SLIDE:使用滑动类型。缺省为滚动类型。使用AW_CENTER标志时被忽略;

AW_ACTIVATE:激活窗口。在使用了AW_HIDE标志后不能使用这个标志;

AW_BLEND:实现淡出效果。只有当hWnd为顶层窗口的时候才可以使用此标志;

AW_HIDE:隐藏窗口,缺省则显示窗口;

AW_CENTER:若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;
若未使用AW_HIDE标志,则使窗口向外扩展,即展开窗口;

AW_HOR_POSITIVE:自左向右显示窗口。该标志可以在滚动动画和滑动动画中使用。
当使用AW_CENTER标志时,该标志将被忽略;

AW_VER_POSITIVE:自顶向下显示窗口。该标志可以在滚动动画和滑动动画中使用。
当使用AW_CENTER标志时,该标志将被忽略;

AW_VER_NEGATIVE:自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。
当使用AW_CENTER标志时,该标志将被忽略;

返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。