private void UpdateAlphaMask(byte opacity)
        {
            Skybound.VisualTips.VisualTipWindow.BLENDFUNCTION blendfunction;
            Skybound.VisualTips.VisualTipWindow.POINT         point2;

            System.IntPtr intPtr1 = Skybound.VisualTips.VisualTipWindow.GetDC(System.IntPtr.Zero);
            System.IntPtr intPtr2 = Skybound.VisualTips.VisualTipWindow.CreateCompatibleDC(intPtr1);
            System.IntPtr intPtr3 = System.IntPtr.Zero;
            try
            {
                intPtr3 = Skybound.VisualTips.VisualTipWindow.SelectObject(intPtr2, HLayeredWindowBitmap);
                Skybound.VisualTips.VisualTipWindow.POINT point1 = new Skybound.VisualTips.VisualTipWindow.POINT(Left, Top);
                Skybound.VisualTips.VisualTipWindow.SIZE  size   = new Skybound.VisualTips.VisualTipWindow.SIZE(LayeredWindowSize.Width, LayeredWindowSize.Height);
                point2                               = new Skybound.VisualTips.VisualTipWindow.POINT();
                blendfunction                        = new Skybound.VisualTips.VisualTipWindow.BLENDFUNCTION();
                blendfunction.bytBlendOp             = 0;
                blendfunction.bytBlendFlags          = 0;
                blendfunction.bytSourceConstantAlpha = opacity;
                blendfunction.bytAlphaFormat         = 1;
                Skybound.VisualTips.VisualTipWindow.UpdateLayeredWindow(Handle, intPtr1, ref point1, ref size, intPtr2, ref point2, 0, ref blendfunction, 2);
            }
            finally
            {
                Skybound.VisualTips.VisualTipWindow.ReleaseDC(System.IntPtr.Zero, intPtr1);
                Skybound.VisualTips.VisualTipWindow.SelectObject(intPtr2, intPtr3);
                Skybound.VisualTips.VisualTipWindow.DeleteDC(intPtr2);
            }
        }
        private void UpdateAlphaMask(byte opacity)
        {
            Skybound.VisualTips.VisualTipWindow.BLENDFUNCTION blendfunction;
            Skybound.VisualTips.VisualTipWindow.POINT point2;

            System.IntPtr intPtr1 = Skybound.VisualTips.VisualTipWindow.GetDC(System.IntPtr.Zero);
            System.IntPtr intPtr2 = Skybound.VisualTips.VisualTipWindow.CreateCompatibleDC(intPtr1);
            System.IntPtr intPtr3 = System.IntPtr.Zero;
            try
            {
                intPtr3 = Skybound.VisualTips.VisualTipWindow.SelectObject(intPtr2, HLayeredWindowBitmap);
                Skybound.VisualTips.VisualTipWindow.POINT point1 = new Skybound.VisualTips.VisualTipWindow.POINT(Left, Top);
                Skybound.VisualTips.VisualTipWindow.SIZE size = new Skybound.VisualTips.VisualTipWindow.SIZE(LayeredWindowSize.Width, LayeredWindowSize.Height);
                point2 = new Skybound.VisualTips.VisualTipWindow.POINT();
                blendfunction = new Skybound.VisualTips.VisualTipWindow.BLENDFUNCTION();
                blendfunction.bytBlendOp = 0;
                blendfunction.bytBlendFlags = 0;
                blendfunction.bytSourceConstantAlpha = opacity;
                blendfunction.bytAlphaFormat = 1;
                Skybound.VisualTips.VisualTipWindow.UpdateLayeredWindow(Handle, intPtr1, ref point1, ref size, intPtr2, ref point2, 0, ref blendfunction, 2);
            }
            finally
            {
                Skybound.VisualTips.VisualTipWindow.ReleaseDC(System.IntPtr.Zero, intPtr1);
                Skybound.VisualTips.VisualTipWindow.SelectObject(intPtr2, intPtr3);
                Skybound.VisualTips.VisualTipWindow.DeleteDC(intPtr2);
            }
        }
 private static extern System.IntPtr UpdateLayeredWindow(System.IntPtr hwnd, System.IntPtr hdcDst, ref Skybound.VisualTips.VisualTipWindow.POINT pptDst, ref Skybound.VisualTips.VisualTipWindow.SIZE psize, System.IntPtr hdcSrc, ref Skybound.VisualTips.VisualTipWindow.POINT pprSrc, int crKey, ref Skybound.VisualTips.VisualTipWindow.BLENDFUNCTION pblend, int dwFlags);