对于每一个新版本的Windows,本地桌面应用程序都受制于其不断变化的视觉样式。
如果应用程序想要控制自己的样式并随着时间的推移呈现一致的视觉界面,它必须绘制自己的控件,其中最重要的是按钮。
在我看来,最吸引人的Windows按钮是在WinXP和Win7中,它们有圆角和渐变图案,形成了一个微妙的凸起斜面。
根据常见的GDI基元操作(如圆角矩形和渐变着色操作(,我在哪里可以找到渲染这种类型按钮的公式?
如果有人对此感到困惑,经过数小时的搜索,我发现最好的是以下文章和演示:
https://www.codeproject.com/Articles/4208/XP-Style-Button
感谢Valeria Bogdevich在2003年的贡献。
它只使用GDI+基元来模拟XP风格的按钮,并且是用C#编写的,但Graphics基元是相同的。
它基于一系列DrawLine和FillRectangle基元,其中多个LinearGradientBrush对象混合在一起。
一定花了不少功夫去解构。结果看起来不错。