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