SetLayeredWindowAttributes 函式 (winuser.h)

設定分層視窗的不透明和透明色鍵。

語法

BOOL SetLayeredWindowAttributes(
  [in] HWND     hwnd,
  [in] COLORREF crKey,
  [in] BYTE     bAlpha,
  [in] DWORD    dwFlags
);

參數

[in] hwnd

類型: HWND

分層視窗的句柄。 使用 CreateWindowEx 函式建立視窗時指定WS_EX_LAYERED,或在建立窗口之後透過 SetWindowLong 設定WS_EX_LAYERED,即可建立分層視窗。

Windows 8:最上層視窗和子窗口支援WS_EX_LAYERED樣式。 舊版 Windows 僅支援最上層視窗 WS_EX_LAYERED

[in] crKey

類型: COLORREF

COLORREF 結構,指定撰寫分層視窗時要使用的透明度色彩索引鍵。 此色彩中視窗所繪製的所有像素都會是透明的。 若要產生 COLORREF,請使用 RGB 宏。

[in] bAlpha

類型: BYTE

用來描述分層視窗不透明度的 Alpha 值。 類似於 BLENDFUNCTION 結構的 SourceConstantAlpha 成員。 當 bAlpha 為 0 時,視窗會完全透明。 當 bAlpha 為 255 時,視窗不透明。

[in] dwFlags

類型: DWORD

要採取的動作。 此參數可以是下列一或多個值。

意義
LWA_ALPHA
0x00000002
使用 bAlpha 來判斷分層視窗的不透明度。
LWA_COLORKEY
0x00000001
使用 crKey 做為透明度色彩。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

請注意,一旦針對分層視窗呼叫 SetLayeredWindowAttributes ,後續的 UpdateLayeredWindow 呼叫將會失敗,直到清除分層樣式位並再次設定為止。

如需詳細資訊,請參閱 使用分層式 Windows

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-window-l1-1-1 (在 Windows 8.1) 中引進

另請參閱

AlphaBlend

COLORREF

概念

CreateWindowEx

其他資源

RGB

參考

SetWindowLong

TransparentBlt

UpdateLayeredWindow

使用 Windows

Windows