Delphi WinAPI SetLayeredWindowAttributes-设置分层窗口的不透明度和透明度颜色关键点


Delphi WinAPI SetLayeredWindowAttributes-设置分层窗口的不透明度和透明度颜色关键点

头文件:winuser.h

原型:

BOOL SetLayeredWindowAttributes(
  [in] HWND     hwnd,  //分层窗口的句柄。通过在使用CreateWindowEx函数创建窗口时指定WS_EX_layered,或在创建窗口后很久通过SetWindow设置WS_EX_layered,可以创建分层窗口。
  [in] COLORREF crKey,  //COLORREF结构,指定组成分层窗口时要使用的透明度颜色键。窗口以这种颜色绘制的所有像素都将是透明的。要生成COLORREF,请使用RGB宏。
  [in] BYTE     bAlpha,  //Alpha值用于描述分层窗口的不透明度。与BLENDFUNCTION结构的SourceConstantAlpha成员类似。当bAlpha为0时,窗口是完全透明的。当bAlpha为255时,窗口不透明。
  [in] DWORD    dwFlags
);  

参数:

  • dwFlags: //要采取的行动。
    • LWA_ALPHA  //使用bAlpha确定分层窗口的不透明度。
    • LWA_COLORKEY  //使用crKey作为透明度颜色。

返回值:如果函数成功,则返回值为非零。如果函数失败,返回值为零。

注意:一旦为分层窗口调用了SetLayeredWindowAttributes,后续的UpdateLayeredWindow调用将失败,直到清除并再次设置分层样式位。

创建时间:2022.04.18  更新时间:

https://www.cnblogs.com/guorongtao/p/16160473.html