如何实现控件的渐变填充效果
最近几天在博客展示了一些非常漂亮的控件,跟大家分享一下 Windows Mobile 应用程序的界面设计。大家响应很热烈,其中问的最多的就是如何实现渐变填充的效果。实现渐变效果其实很简单,可以使用Win32函数 GradientFill 实现。
[DllImport("coredll.dll", SetLastError = true, EntryPoint = "GradientFill")]
public extern static bool GradientFill(
IntPtr hdc,
TRIVERTEX[] pVertex,
uint dwNumVertex,
GRADIENT_RECT[] pMesh,
uint dwNumMesh,
uint dwMode);
public const int GRADIENT_FILL_RECT_H = 0x00000000;
public const int GRADIENT_FILL_RECT_V = 0x00000001;
public extern static bool GradientFill(
IntPtr hdc,
TRIVERTEX[] pVertex,
uint dwNumVertex,
GRADIENT_RECT[] pMesh,
uint dwNumMesh,
uint dwMode);
public const int GRADIENT_FILL_RECT_H = 0x00000000;
public const int GRADIENT_FILL_RECT_V = 0x00000001;
在MSDN一篇文章中提供了完整的示例代码:《How to: Display a Gradient Fill》
该示例的运行效果如下所示,这里可以下载示例代码:GradientFillDemo.zip
具体如何实现上面的渐变效果的按钮和窗体背景,就好好研究该示例代码吧
作者:黎波
博客:http://bobli.cnblogs.com/
日期:2009年9月2日