- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UpdateLayeredWindow
[编辑本段]
UpdateLayeredWindow
The UpdateLayeredWindow function updates the position, size, shape, content, and translucency of a layered window
该UpdateLayeredWindow函数更新一个分层的窗口的位置,大小,形状,内容和半透明度;
BOOL UpdateLayeredWindow(
HWND hwnd,
HDC hdcDst,
POINT *pptDst,
SIZE *psize,
HDC hdcSrc,
POINT *pptSrc,
COLORREF crKey,
BLENDFUNCTION *pblend,
DWORD dwFlags
);
hwnd 一个分层的窗口句柄;一个分层的窗口创建是指定WS_EX_LAYERED当用CreateWindowEx
函数创建窗口时;
hdcDst 屏幕的设备上下文(DC)句柄;这个句柄的获得是调用函数时指定为空;
它用于匹配颜色调色板当窗口内容更新;如果hdcDst的Null,将使用默认调色板;
pptDst 一个POINT结构的指针(指定新的分层窗口的屏幕位置);如果位置没有改变,pptDst可以为NULL;\
psize 一个尺寸结构的指针(指定分层窗口新的大小);如果不改变窗口大小,psize可以为NULL;
如果hdcSrc为NULL,psize必须为NULL;
hdcSrc 定义了的分层窗口表面的DC句柄;这个句柄可以获得通过CreateCompatibleDC函数;
如果窗口的可视范围和形状不发生变化,hdcSrc可以为NULL。
pptSrc 一个POINT结构的指针(指定了在设备上下文层的位置);如果hdcSrc为NULL,pptSrc应该是NULL;
crKey 指向一个COLORREF值(当组成分层窗口时使用指定颜色)。要生成为COLORREF,使用的
RGB宏;
pblend 指向一个BLENDFUNCTION结构(当组成分层窗口时使用指定透明度值)。
dwFlags 这个参数可以是以下值之一;
ULW_ALPHA 使用pblend为混合功能,如果显示模式为256色或更少,这个值的影响
和ULW_OPAQUE效果相同;
ULW_COLORKEY 使用crKey值为颜色的透明度
ULW_OPAQUE 绘制一个不透明分层窗口
如果hdcSrc为NULL,dwFlags应为零
返回值:
如果函数成功,返回值为非零;如果函数失败,返回值为零。为了获得更多的错误信息,调用GetLastError
VC6 使用API :UpdateLayeredWindow创建半透明窗口
2009-09-22 12:41
To use UpdateLayeredWindow, the visual bits for a layered window have to be rendered into a compatible bitmap. Then, via a compatible GDI Device Context, the bitmap is provided to the UpdateLayeredWindow API, along with the desired color-key and alpha-blend information. The bitmap can also contain per-pixel alpha information.
要使用UpdateLayerdWindow,我们需要将要使用该效果的窗口创建一张Compatible Bitmap, 然后,将改位图选入HDC ,最后将该HDC提交给UpdateLayerdWindow,可以包含一个主色调 RGB值或一个alpha-blend半透明信息一起传入。
需要注意的是,调用完UpdateLayerdWindow之后,程序将不再响应WM_PAINT或着其他绘图消息,因为该函数自己会处理关于绘图相关的操作并最终显示!
Note that when using UpdateLayeredWindow the application doesnt need to respond to WM_PAINT or other painting messages, because it has already provided
文档评论(0)