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 一個分層的視窗句柄;一個分層的視窗當用CreateWindowEx
函式創建視窗時指定WS_EX_LAYERED;
hdcDst 螢幕的設備上下文(DC)句柄;如果指定為空,那么將會在函式調用時自己獲得。
它用於當視窗內容更新時,與調色板顏色去匹配;如果hdcDst指定為Null,將使用默認調色板;
如果hdcSrc 為NULL, 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