SetLayeredWindowAttributes Function
Sets the opacity and transparency color key of a layered window.

Syntax
CopyBOOL WINAPI SetLayeredWindowAttributes(
  __in  HWND hwnd,
  __in  COLORREF crKey,
  __in  BYTE bAlpha,
  __in  DWORD dwFlags
);

Parameters
hwnd [in] 
HWND
A handle to the layered window. A layered window is created by specifying WS_EX_LAYERED when creating the window with the CreateWindowEx function or by setting WS_EX_LAYERED via SetWindowLong after the window has been created.

crKey [in] 
COLORREF
A COLORREF structure that specifies the transparency color key to be used when composing the layered window. All pixels painted by the window in this color will be transparent. To generate a COLORREF, use the RGB macro.

bAlpha [in] 
BYTE
Alpha value used to describe the opacity of the layered window. Similar to the SourceConstantAlpha member of the BLENDFUNCTION structure. When bAlpha is 0, the window is completely transparent. When bAlpha is 255, the window is opaque.

dwFlags [in] 
DWORD
An action to be taken. This parameter can be one or more of the following values.

Value Meaning 
LWA_ALPHA
0x00000002 Use bAlpha to determine the opacity of the layered window.
 
LWA_COLORKEY
0x00000001 Use crKey as the transparency color.
 

 

Return Value
BOOL

If the function succeeds, the return value is nonzero. 

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks
Note that once SetLayeredWindowAttributes has been called for a layered window, subsequent UpdateLayeredWindow calls will fail until the layering style bit is cleared and set again.

For more information, see Using Layered Windows.

Requirements
Minimum supported client
 Windows 2000 Professional 
Minimum supported server
 Windows 2000 Server 
Header
 Winuser.h (include Windows.h) 
Library
 User32.lib 
DLL
 User32.dll 
