VC++MFC半透明水晶按钮实现VS2005

自绘的半透明水晶按钮,挺适合想让老项目 UI 焕发新生机的你。用 VC++/MFC 搭配 VS2005,通过重载 OnPaint() 来实现按钮外观的自定义,还能玩出渐变、阴影甚至 Alpha 通道 效果,视觉质感一下就拉满。

老 MFC 项目也能“潮”起来。重绘 CButton 控件,手动画出你想要的效果,按钮边框、背景光泽、按下状态,全都自己掌控。用 GDIMoveToEx()Rectangle() 这些函数,加点 SetBkMode() 调个透明模式,效果还挺酷。

Alpha 通道是关键。0 是完全透明,255 是完全不透明,中间值就能实现玻璃质感。想象一下:你点按钮时,后面的背景若隐若现,像极了 Windows Vista 年代的 Aero 风格。

AlphaButton.png 是半透明背景图,加载它可以用 LoadImage(),再配合 BitBlt()StretchBlt() 画到按钮上。要记得保持 PNG 的 Alpha 信息,不然透明就白搞了。

项目结构也比较清晰:AlphaButton.sln 是 VS 工程入口,AlphaButton 目录放源码,release 是编译输出。你可以看看 CAlphaButton 类,是整个绘制逻辑的核心。

如果你在做老 MFC 项目,又不甘心按钮总是死板丑,还挺推荐研究这个的。想深入点,还可以看看 MFC 自绘按钮MFC 超酷半透明异形窗口,思路都挺有启发。

zip 文件大小:771.36KB