如何实现控件的渐变填充效果

最近几天在博客展示了一些非常漂亮的控件,跟大家分享一下 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



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

作者:黎波
博客:http://bobli.cnblogs.com/
日期:2009年9月2日
posted @ 2009-09-02 11:57  黎波  阅读(4773)  评论(11编辑  收藏  举报