CFadeStatic
一个基于 CStatic 类的派生类,为您的图片控件添加渐入/渐出效果。
引言
这个 MFC CStatic
派生类将在您的 MFC 项目中的图片控件中添加渐入/渐出效果。
背景
在编写 Cool FX 包装器 之后,我想使用相同的代码结构编写另一个简单的 MFC 自定义控件,这就是结果。
使用代码
要使用 CFadeStatic
类,您可以按照以下步骤操作:
- 提取 FadeStatic_src.zip 中的所有文件,并将它们复制到您的 MFC 项目目录中,然后将它们添加到您的项目中。
- 在您想要使用
CFadeStatic
的源文件中添加以下包含语句: - 对于资源编辑器窗口中您想要应用渐变效果的图片控件,使用类向导为其声明一个控件类型变量,并将类从
CStatic
更改为CFadeStatic
。 - 完成了,构建您的应用程序并查看酷炫效果。
#include "FadeStatic.h"
您也可以在运行时创建 CFadeStatic
(虽然我实在想不出您需要在运行时创建的条件;);以下摘录自演示代码,展示了如何操作:
stcCodeprojectRuntime.Create(_T(""), WS_CHILD | WS_VISIBLE, ctrlRect, this);
m_runtimeBmp.LoadBitmap(IDB_CODEPROJECT_HIGH_COLOR);
stcCodeprojectRuntime.SetBitmap(m_runtimeBmp);
您所要做的就是使用 Create()
函数创建控件,然后使用 SetBitmap()
函数设置位图。SetBitmap()
函数在 CFadeStatic
中被重载,并将执行 FX 初始化。
所有渐入/渐出动画效果参数都可以在 CFadeStatic
类的构造函数中设置。“噪点”效果只是为了在渐入/渐出期间添加一些随机点。
关注点
渐变效果是通过创建两个内存 DC 来实现的:一个用于背景,一个用于前景位图。然后,前景位图 DC 被 AlphaBlend()
到背景 DC;生成的位图 DC 然后被 BitBlt()
到控件的绘制 DC。
历史
- 2009-07-14:初始发布。