win32api之添加水印

不多說,直接上代碼。

public class Watermark
{
    private const int EM_SETCUEBANNER = 0x1501;

    /// <summary>
    /// 設置水印.
    /// </summary>
    /// <param name="handle">The handle.</param>
    /// <param name="watermark">The watermark.</param>
    /// <author>YangSen</author>
    public static void SetValue(IntPtr handle, string watermark)
    {
        Methods.SendMessage(handle, EM_SETCUEBANNER, 0, watermark);
    }

    /// <summary>
    /// 清楚水印.
    /// </summary>
    /// <param name="handle">The handle.</param>
    /// <author>YangSen</author>
    public static void Clear(IntPtr handle)
    {
        Methods.SendMessage(handle, EM_SETCUEBANNER, 0, string.Empty);
    }
}
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);

設置水印的效果我這裏就不多說了,有興趣的朋友可以試一下。適合編輯類的控件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章