VC++MFC半透明水晶按钮实现VS2005
自绘的半透明水晶按钮,挺适合想让老项目 UI 焕发新生机的你。用 VC++/MFC 搭配 VS2005,通过重载 OnPaint()
来实现按钮外观的自定义,还能玩出渐变、阴影甚至 Alpha 通道 效果,视觉质感一下就拉满。
老 MFC 项目也能“潮”起来。重绘 CButton
控件,手动画出你想要的效果,按钮边框、背景光泽、按下状态,全都自己掌控。用 GDI 的 MoveToEx()
、Rectangle()
这些函数,加点 SetBkMode()
调个透明模式,效果还挺酷。
Alpha 通道是关键。0 是完全透明,255 是完全不透明,中间值就能实现玻璃质感。想象一下:你点按钮时,后面的背景若隐若现,像极了 Windows Vista 年代的 Aero 风格。
AlphaButton.png
是半透明背景图,加载它可以用 LoadImage()
,再配合 BitBlt()
或 StretchBlt()
画到按钮上。要记得保持 PNG 的 Alpha 信息,不然透明就白搞了。
项目结构也比较清晰:AlphaButton.sln
是 VS 工程入口,AlphaButton
目录放源码,release
是编译输出。你可以看看 CAlphaButton
类,是整个绘制逻辑的核心。
如果你在做老 MFC 项目,又不甘心按钮总是死板丑,还挺推荐研究这个的。想深入点,还可以看看 MFC 自绘按钮 或 MFC 超酷半透明异形窗口,思路都挺有启发。
771.36KB
文件大小:
评论区