读书人

请问一个API 函数 UpdateLayeredWindow

发布时间: 2012-04-14 17:14:21 作者: rapoo

请教一个API 函数 UpdateLayeredWindow
谁能解释一下 这个函数的参数

该函数定义如下

C/C++ code
        /// <summary>        /// 更新层窗体        /// </summary>        /// <param name="hwnd">窗体句柄</param>        /// <param name="hdcDst">目标句柄(指定为屏幕句柄)</param>        /// <param name="pptDst">目标位置</param>        /// <param name="psize">目标大小</param>        /// <param name="hdcSrc">源句柄</param>        /// <param name="pprSrc">源位置</param>        /// <param name="crKey">关键色</param>        /// <param name="pblend">混合绘制的参数</param>        /// <param name="dwFlags">制定绘制的类型(我需要的当然是Alpha了)</param>        /// <returns>是否成功</returns>        [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]        public static extern bool UpdateLayeredWindow(Handle hwnd, IntPtr hdcDst, ref Point pptDst, ref Size psize, IntPtr hdcSrc, ref Point pprSrc, Int32 crKey, ref BLENDFUNCTION pblend, UpdateLayeredWindow_Prams dwFlags);



user32.UpdateLayeredWindow( handler, screenDc, ref newLocation, ref newSize,
memDc, ref sourceLocation, 0, ref blend,UpdateLayeredWindow_Prams.ULW_ALPHA);

这个API函数中其中的,new Size是指什么?我能否根据这个NewSize 指定更新窗体的某一特定矩形以减少,大面积更新占用太多的CPU?

其他的参数最好也能够解释一下,MSDN已经去过了。文字实在有点拗口,难以真正地理解其含义。
希望懂API的熟悉这个函数的大侠 能够用大白话 说一下。














[解决办法]
那个newsize对应的不就是目标区域的size么
这个函数应该是不支持局部更新的

读书人网 >VC/MFC

热点推荐