轻舞飞扬

如何实现控件的渐变填充效果
最近几天在博客展示了一些非常漂亮的控件,跟大家分享一下 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;

在MSDN一篇文章中提供了完整的示例代码:《How to: Display a Gradient Fill》
该示例的运行效果如下所示,这里可以下载示例代码:GradientFillDemo.zip



具体如何实现上面的渐变效果的按钮和窗体背景,就好好研究该示例代码吧

posted on 2009-09-04 10:33  红森林  阅读(306)  评论(0编辑  收藏  举报