Skip to content

Latest commit

 

History

History
236 lines (154 loc) · 8.62 KB

nf-winuser-updatelayeredwindow.md

File metadata and controls

236 lines (154 loc) · 8.62 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name req.apiset
NF:winuser.UpdateLayeredWindow
UpdateLayeredWindow function (winuser.h)
Updates the position, size, shape, content, and translucency of a layered window.
ULW_ALPHA
ULW_COLORKEY
ULW_EX_NORESIZE
ULW_OPAQUE
UpdateLayeredWindow
UpdateLayeredWindow function [Windows and Messages]
_win32_UpdateLayeredWindow
_win32_updatelayeredwindow_cpp
winmsg.updatelayeredwindow
winui._win32_updatelayeredwindow
winuser/UpdateLayeredWindow
winmsg\updatelayeredwindow.htm
winmsg
VS|winui|~\winui\windowsuserinterface\windowing\windows\windowreference\windowfunctions\updatelayeredwindow.htm
12/05/2018
ULW_ALPHA, ULW_COLORKEY, ULW_EX_NORESIZE, ULW_OPAQUE, UpdateLayeredWindow, UpdateLayeredWindow function [Windows and Messages], _win32_UpdateLayeredWindow, _win32_updatelayeredwindow_cpp, winmsg.updatelayeredwindow, winui._win32_updatelayeredwindow, winuser/UpdateLayeredWindow
winuser.h
Windows.h
Windows
Windows 2000 Professional [desktop apps only]
Windows 2000 Server [desktop apps only]
User32.lib
User32.dll
Windows
19H1
UpdateLayeredWindow
winuser/UpdateLayeredWindow
c++
APIRef
kbSyntax
DllExport
User32.dll
Ext-MS-Win-NTUser-Window-l1-1-1.dll
Ext-MS-Win-NTUser-Window-l1-1-2.dll
ext-ms-win-ntuser-window-l1-1-3.dll
Ext-MS-Win-NTUser-Window-L1-1-4.dll
UpdateLayeredWindow
ext-ms-win-ntuser-window-l1-1-1 (introduced in Windows 8.1)

UpdateLayeredWindow function

-description

Updates the position, size, shape, content, and translucency of a layered window.

-parameters

-param hWnd [in]

Type: HWND

A handle to a layered window. A layered window is created by specifying WS_EX_LAYERED when creating the window with the CreateWindowEx function.

Windows 8:  The WS_EX_LAYERED style is supported for top-level windows and child windows. Previous Windows versions support WS_EX_LAYERED only for top-level windows.

-param hdcDst [in, optional]

Type: HDC

A handle to a DC for the screen. This handle is obtained by specifying NULL when calling the GetDC function. It is used for palette color matching when the window contents are updated. If hdcDst is NULL, the default palette will be used.

If hdcSrc is NULL, hdcDst must be NULL.

-param pptDst [in, optional]

Type: POINT*

A pointer to a structure that specifies the new screen position of the layered window. If the current position is not changing, pptDst can be NULL.

-param psize [in, optional]

Type: SIZE*

A pointer to a structure that specifies the new size of the layered window. If the size of the window is not changing, psize can be NULL. If hdcSrc is NULL, psize must be NULL.

-param hdcSrc [in, optional]

Type: HDC

A handle to a DC for the surface that defines the layered window. This handle can be obtained by calling the CreateCompatibleDC function. If the shape and visual context of the window are not changing, hdcSrc can be NULL.

-param pptSrc [in, optional]

Type: POINT*

A pointer to a structure that specifies the location of the layer in the device context. If hdcSrc is NULL, pptSrc should be NULL.

-param crKey [in]

Type: COLORREF

A structure that specifies the color key to be used when composing the layered window. To generate a COLORREF, use the RGB macro.

-param pblend [in, optional]

Type: BLENDFUNCTION*

A pointer to a structure that specifies the transparency value to be used when composing the layered window.

-param dwFlags [in]

Type: DWORD

This parameter can be one of the following values.

Value Meaning
ULW_ALPHA
0x00000002
Use pblend as the blend function. If the display mode is 256 colors or less, the effect of this value is the same as the effect of ULW_OPAQUE.
ULW_COLORKEY
0x00000001
Use crKey as the transparency color.
ULW_OPAQUE
0x00000004
Draw an opaque layered window.
ULW_EX_NORESIZE
0x00000008
Force the UpdateLayeredWindowIndirect function to fail if the current window size does not match the size specified in the psize.
 

If hdcSrc is NULL, dwFlags should be zero.

-returns

Type: 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

The source DC should contain the surface that defines the visible contents of the layered window. For example, you can select a bitmap into a device context obtained by calling the CreateCompatibleDC function.

An application should call SetLayout on the hdcSrc device context to properly set the mirroring mode. SetLayout will properly mirror all drawing into an HDC while properly preserving text glyph and (optionally) bitmap direction order. It cannot modify drawing directly into the bits of a device-independent bitmap (DIB). For more information, see Window Layout and Mirroring.

The UpdateLayeredWindow function maintains the window's appearance on the screen. The windows underneath a layered window do not need to be repainted when they are uncovered due to a call to UpdateLayeredWindow, because the system will automatically repaint them. This permits seamless animation of the layered window.

UpdateLayeredWindow always updates the entire window. To update part of a window, use the traditional WM_PAINT and set the blend value using SetLayeredWindowAttributes.

For best drawing performance by the layered window and any underlying windows, the layered window should be as small as possible. An application should also process the message and re-create its layered windows when the display's color depth changes.

For more information, see Layered Windows.

-see-also

AlphaBlend

Conceptual

CreateCompatibleBitmap

Other Resources

Reference

SetWindowLong

SetWindowPos

TransparentBlt

UpdateLayeredWindowIndirect

Windows